C语言学习记录

C 语言学习之路:练习题实战记录(上) 使用全局#define定义gender为’男’。使用局部定义name(长度为 12)为张三,age为 22,height为 1.78,并按格式输出完整结果。 阅读详情

获取数组长度,先计算数组的总字节大小,再除以单个元素字节数。与 python 不同的是,C 语言中数组存储的元素的类型和大小都是一样的。C 语言中,字符串实际都是字符数组,且字符串最后一个元素为 \0。

char sentences[][13] = {
	"Hello world1",
	"Hello world2",
	"Hello world3",
	"Hello world4",
	"Hello world5",
	"Hello world6"
};

int sentence_num = sizeof(sentences) / sizeof(sentences[0]);

通过 fgets 获取输入字符串,假如输入Hello world1,实际 search_for 指向的字符数组为 Hello world1\n\0 ,包括额外的\0和换行符这两个字符。而 strlen 计算字符串长度时,是排除结尾的\0后的长度,即Hello world\n的长度 。所以search_for[strlen(search_for) - 1]实际是Hello world1\n\0倒数第二个元素,替换后字符串为Hello world1\0\0。

	char search_for[14];
	printf("Search for: ");
	fgets(search_for, 14, stdin);
	printf("%i\n", strlen(search_for));
	search_for[strlen(search_for) - 1] = '\0';
	printf("%s\n", search_for);
	find_sentence(search_for);

strstr 要求查找的子串以\0结尾,以便获取子串的长度,但测试不以\0结尾也能正常查找。

char search_for2[] = {'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '1'};
strstr(sentences[0], search_for2);

代码:

#include <stdio.h>
#include <string.h>

char sentences[][13] = {
	"Hello world1",
	"Hello world2",
	"Hello world3",
	"Hello world4",
	"Hello world5",
	"Hello world6"
};

int sentence_num = sizeof(sentences) / sizeof(sentences[0]);


void find_sentence(char search_for[]){
	int i;
	for(i = 0; i < sentence_num; i++){
		if(strstr(sentences[i], search_for)){
			printf("sentence %i: %s\n", i, sentences[i]);
		}
	}
}

int main(){
	char search_for[14];
	printf("Search for: ");
	fgets(search_for, 14, stdin);
	printf("%i\n", strlen(search_for));
	search_for[strlen(search_for) - 1] = '\0';
	printf("%s\n", search_for);
	find_sentence(search_for);
	
	//char search_for2[] = {'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '1'};
	//find_sentence(search_for2);
	
	return 0;
}
无人机蜂群联合指挥作战技术详解 随着人工智能、通信技术、新材料等领域的不断进步,无人机蜂群联合指挥作战技术将迎来更加广阔的发展前景。未来,无人机蜂群将更加智能化、自主化,能够执行更加复杂、精细的作战任务。同时,加强国际合作,共同制定国际规则和标准,将是推动无人机蜂群技术健康发展的重要方向。无人机蜂群技术,是指通过先进的通信技术、自主导航与决策算法,将大量小型、低成本、功能各异的无人机组织成一个高度协同的群体,执行复杂多样的军事任务。2. 通信与数据链:采用高速、低延迟、抗干扰的通信技术,保障群体内无人机间的信息交换。 阅读详情

相关推荐

从TCGA官网获取新版count数据并精准转换为TPM的实战指南

本文详细介绍了从TCGA官网获取新版count数据并精准转换为TPM的实战指南。通过TCGAbiolinks工具下载原始count数据,结合GENCODE v36注释文件计算基因有效长度,最终实现count到TPM的标准化转换,确保数据完整性和分析可靠性。文章包含完整代码示例和常见问题解决方案,特别适合生物信息学研究人员参考。

weixin_27310417的博客 284

C语言学习记录4

这是我的C语言学习记录,不能保证一定准确,如有错误请指出 注释 用途: 1.有些代码不够直观,理解困难,加入文字注释,方便以后维护 2.有些代码之前使用,但后来不再使用,可以删除,也可以注释 注释符号: 1.// 这是C++的注释风格,一次注释一行代码,后来被推广,C语言中也可以使用,可以嵌套注释 2./* */ 这是C语言的注释风格,从 /* 开始,直到编译器发现 */ 为止,注意这种注释不能嵌套,编译器只要发现 */ 就会认为注释结束,比如/* 10 /* 20 */ 30 */,...

Cubic_Custard的博客 206

树莓派作为Modbus服务器:pymodbus配置全记录

手把手教你用树莓派部署Modbus服务器,核心基于pymodbus实现数据通信与设备控制,涵盖配置步骤与常见问题,适合工业自动化场景应用。

weixin_42510201的博客 756

C语言学习记录20250831

计划是一个半月详细的学完C语言,然后完成一个小项目,第一次写博客暂时不知道写什么,一切为了记录~每天花四个小时时间学习,坚持就是胜利!开启学习C语言记录第一天,不定期把学习过程中的感想和遇到的问题总结整理在这,希望能学懂,不惧怕编程。

qq_43812612的博客 136

2025年情感分析(SA)综述——论文阅读报告

2025年情感分析(SA)综述——论文阅读报告

Samdy_L的博客 2088

EtherCAT主站开发(学习笔记一)

摘要:本文介绍了基于STM32H7的EtherCAT主站开发探索。EtherCAT是一种高实时性工业以太网协议,具有低延迟、高带宽利用率等特点。文章详细解析了EtherCAT的协议架构、帧结构和工作原理,重点阐述了PDO数据传输过程及主从站通信机制。同时介绍了CoE、FoE等应用层协议扩展。作者将基于SOEM开源协议栈进行开发,为后续实际应用中的伺服电机控制奠定基础。

weixin_69388007的博客 1475

嵌入式C语言学习记录之-2day

浮点型数据,字符数据,运算符总结

Souvenir_cj的博客 1284

Unreal5从入门到精通之如何在VR中使用3DUI

前面我们讲过《Unreal5从入门到精通之UMG的使用》一般制作游戏时,UI都是添加到屏幕视窗上面的,但是在制作VR时,我们往往需要制作一个3D的UI,放置在场景中,然后使用手柄的射线来和UI进行交互。今天我们就来讲解下,如何在VR中创作和交互3DUI首次操作会感觉好复杂,多多练习,当你熟悉了UE蓝图的操作后会发现,这只是一个常规的蓝图操作而已。祝大家在虚幻的学习过程中非常顺利。希望这篇博客对你有所帮助。

TxNet 1985

【C语言学习】课后作业记录

本文主要是介绍如何使用C语言来编写程序:任意输入10个整数的数列,并按从小到大的顺序进行排序,冒泡排序;有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号;将一个数组中的值按逆序重新存放;选择排序。

HankuoYuan的博客 942

【2026OD新机考】【不定滑窗】20260415-API请求日志去重分析【Py/Java/C++/C/JS/Go六种语言OD真题】【欧弟算法】全网注释最详细分类最全的华子OD真题题解

中找到所有的连续的相同元素,同时统计对应的连续相同元素对应的值的平均值。:当右指针为第一个元素(没有前一个元素),或者右指针对应的元素。某微服务系统的日志监控平台需分析API调用记录,日志含大量。相等,说明当前元素仍然属于同一个相同元素窗口,将当前元素值。中的所有元素均相等,并且计算窗口和情况即可。请实现一个函数,对给定的日志数据去重合并处理。位置,表示开启一个新的窗口,此时需要重置窗口和。,为了优化重复的请求记录,存储和后续分析需对。:对应的响应时间数组(毫秒)。重新置为当前右指针的元素值。

weixin_48157259的博客 112

硅基半导体量子点:单电子自旋量子比特技术手册

现在我们已经了解了从硅片到容错计算的全部环节,让我们用一张总览图把碎片拼成完整拼图。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;important;important;important;color:#000!important;important;important;important;important;color:#000!

VectorShift的博客 375

记录C语言学习

个人学习记录

Lg_jsl的博客 438

【时时三省】tessy 进入调试模式 教程

山不在高,有仙则名。水不在深,有龙则灵。----优快云 时时三省。

时时三省的博客 771

C语言学习记录1

a05421oe_的博客 332

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C语言学习记录3之构造类型

全局定义(文件开头)位置:定义在所有函数之外,通常在文件开头。用途:该结构体可以在整个文件内被所有函数访问,适合需要在多个函数中共享的结构体。int id;return 0;函数内部定义(局部定义)位置:结构体定义在某个函数的内部。用途只在该函数内有效,不会影响其他函数。int x;int y;return 0;头文件中定义位置:结构体定义在头文件(.h文件)中。用途:方便在多个.c文件中共享结构体定义。#endif。

weixin_51753483的博客 780

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C语言学习记录第二天

strlen函数用于统计字符个数,sizeof函数计算占用空间大小,利用sizeof计算空间同时除上对应字符类型也可以实现与strlen函数类似的效果.char类型占用空间大小为1,首先我们要明白一点,字符串后都是有\0作为终止符的,通过两种写法的比较我们可以发现。总结,由上可知,\0会被计入sizeof函数中但并不会计入strlen函数中,字符串中存在\0而序列并不存在.因此,想要统计字符个数,字符串使用strlen即可(sizeof不是不行但是还要减1),而序列则需使用sizeof(必须).

z202331720425的博客 453

嵌入式C语言学习记录之-7day

函数、静态函数、头文件

Souvenir_cj的博客 444
上一篇: wxPython和pycairo练习记录19
下一篇: C语言学习记录20240609
SmileBasic
博客等级 码龄5年 347粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值