char str[4] = "abcd";为什么strlen(str)的结果是5? strlen(str)是返回str不包括'\0'的字符串长度啊... strlen(str)是返回str不包括'\0'的字符串长度啊 展开 我来答 1个回答 #热议# 应届生在签三方时要注意什么? 参观西湖 2021-02-02 · 古籍有很多,写出来一起欣赏。 参观西湖 采纳数:919 获赞数:2313 向TA提问 私信TA 关注 展开全部 strlen(str)是返回str不包括'\0'的字符串长度----但有一个前提,必须找到str后面的'\0'str[4]填写了4个字符,没有'\0',strlen会在检测完数组以后,在数组的外面继续寻找'\0',直到找到为止。结果是5,是因为在数字外面过了一个字节就遇到'\0'了,碰巧而已,结果不一定是几。-----------所以用strlen计算,传入的字符串一定要'\0'结束。否则结果是不确定的。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2021-01-02 C语言中char str[]是什么意思? 5 2022-11-13 char*str=''什么意思? 2022-05-24 定义char a[4][10]={"11","22","33","44"}则puts(strcat(a[1],a[3]))的结果() 2017-09-08 char str1[]="abc";char str2[]="abc";cout<<(str1==str2)<<endl; 38 2021-03-28 char str[10][20]是什么意思? 3 2018-03-19 关于char str[],char *str[],str(*str)[]我有些弄晕了 59 2017-12-06 设有char str[10],下面语句正确的是:A.scanf("%s",&str) B.printf("%s",str) 有什么区别啊? 5 2019-08-08 c语言 char *str 与char str[] 这俩种定义字符串到底有什么区别 84 更多类似问题 > 为你推荐: