使用strlen()函数的问题
chara[]={'a','b','c','d'};strlen(a)=7;charb[]={'a','b','c','d','\0'};strlen(b)=4;为什么会...
char a[]={'a','b','c','d'};
strlen(a)=7;
char b[]={'a','b','c','d','\0'};
strlen(b)=4;
为什么会有这样的区别?
strlen()函数不是用于字符串的吗,为什么也可以用于字符数组? 展开
strlen(a)=7;
char b[]={'a','b','c','d','\0'};
strlen(b)=4;
为什么会有这样的区别?
strlen()函数不是用于字符串的吗,为什么也可以用于字符数组? 展开
3个回答
展开全部
简单说,字符串本质就是字符数组
如字符串“abcd”=字符数组{'a','b','c','d','\0'}
'\0'是结束符,不计入字符数,所以strlen(b)=4
strlen(a)=7的原因是原数组无结束符,而'd'之后的值是随机的、未知的,刚好第八个值是'\0’
如字符串“abcd”=字符数组{'a','b','c','d','\0'}
'\0'是结束符,不计入字符数,所以strlen(b)=4
strlen(a)=7的原因是原数组无结束符,而'd'之后的值是随机的、未知的,刚好第八个值是'\0’
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
strlen就是用于字符数组的~在C语言里字符数组和字符串相差不了多少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询