【发布时间】:2017-05-23 10:57:50
【问题描述】:
int main(){
char s[1000];
s[0]='Q';
printf("%d",strlen(s));
return 0;
}
上面的代码给出了 6 作为输出。 在这种情况下,输出应该是 1。
int main(){
char s[1000];
printf("%d",strlen(s));
return 0;
}
这段代码甚至给出了 6 作为输出。 它应该是 1000 或 0 或一些垃圾值。 我在 "hackerrank" 中尝试过,但它给出的长度为 6。 当在 TURBOC 中尝试相同的代码时,它给出了正确的答案。 我无法找到此输出的原因。有人可以整理一下并给出这个问题的确切解决方案。
【问题讨论】:
-
您是否将
\0附加到字符串末尾? -
您应该查找有关 strlen() 的文档。男人strlen。
-
'6' 是垃圾值:)
标签: c