作业帮 > 数学 > 作业

char a[] = {'a','b','c','d'}; strlen(a) = 16?

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/12 02:06:22
char a[] = {'a','b','c','d'}; strlen(a) = 16?
char b[] = "abcd"; strlen(b) = 4?
为什么会这样?
visual studio 2008环境
char a[] = {'a','b','c','d'}; strlen(a) = 16?
char a[] = {'a','b','c','d'}; strlen(a) = 16?
这个是16的原因是a[]没有以‘\0’结束,而strlen(a)会从a的首地址开始计算长度,直到遇到‘\0’结束
原理上来说strlen(a)的值是随机的.
char b[] = "abcd"; strlen(b) = 4?
这个strlen(b) = 4没得可说的,其实b[]是b[5]= {'a','b','c','d',‘\0’}.