C语言:strlen()函数易错点
<pre name="code" class="cpp">/* strlen函数解析 */ # include<stdio.h> # include<malloc.h> # include<string.h> int main(void) { char * c1 = "AbSjhhss"; int len1 = strlen(c1); printf("len1 = %d\n", len1); //len1 = 8 char c2[] = {'a', '4', 'r', 't', 'd'}; int len2 = strlen(c2); printf("len2 = %d\n", len2); //..error..len2 = 9 char c3[] = {'a', '4', 'r', 't', 'd', '\0'}; int len3 = strlen(c3); printf("len3 = %d\n", len3); //len3 = 5 char c4[10] = "AbS"; int len4 = strlen(c4); printf("len4 = %d\n", len4); //len4 = 3 char c5[4]; int len5 = strlen(c5); printf("len5 = %d\n", len5); //len5 = 5 /* c5[0] = '\0'; len5 = strlen(c5); printf("len5 = %d\n", len5); //len5 = 0 */ c5[4] = '\0'; len5 = strlen(c5); printf("len5 = %d\n", len5); //len5 = 4 return 0; } /* 总结:如果字符数组, 1.用字符串(双引号"")初始化,用strlen函数可以求出该字符串的长度 2.用字符数组的形式({'',''})初始化,必须在最后面添加一个元素'\0'才可以。 所以:strlen() 从字符数组首地址开始,一直找下去,直到遇到'\0'才停止 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异