我写了这段代码-
char s1[10] = "he", s2[20] = "she", s3[30], s4[30];
printf("%d %d", strlen(s2) + strlen(s3), strlen(s4));
输出-
6 9
然后我写了这段代码-
char s1[10] = "he", s2[20] = "she", s3[30], s4[30];
printf("%d %d", strlen(s3), strlen(s4));
通过删除
strlen(s1) +
输出-
0 3
我的问题是字符串s4的长度如何变化?
最佳答案
s3
和s4
未初始化,也不是'\0'
终止的C字符串,这是strlen()
期望的。因此,您不能将它们传递给strlen()
。
您看到的是undefined behaviour。
关于c - strlen()值如何自动更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34422120/