视频上mj老师说的是当你使用strlen()函数来计算字符串的长度的时候,如果遇到'\0', 函数会中止并返回已经计算的函数值,并不是说字符串中如果有‘\0’,后面的元素就不会被储存。
还有,你计算这个字符串的长度应该使用的是sizeof这个运算符,而不是strlen()函数。二者的区别简单说来就是strlen函数用来求字符串的长度,sizeof函数是用来求指定变量或变量类型等所占用内存的大小;
- #include <stdio.h>
- #include <string.h>
- int main()
- {
- char name[]={'2','4','\0','d','9'};
- int size1=strlen(name);
- int size2=sizeof(name)/sizeof(char);
- printf("%d\n%d\n",size1,size2 );//输出size1 为2, size2为5
- return 0;
- }
复制代码
|