【发布时间】:2018-05-04 17:20:29
【问题描述】:
我在 C 中得到了这段代码,但我不明白为什么输出是:
输出:“地狱”
我希望它是“Hell00000000”而不是“Hell”。 谁能解释一下为什么只有“地狱”?
char str[666];
char * x = str + 4;
strcpy ( str, "Hello world!" );
while ( *x )
{
*x ++ = 0;
}
printf ( "%s", str );
【问题讨论】:
-
0和'0'是 2 个不同的字符。 -
我投票决定将此问题作为离题结束,因为它可以通过阅读任何书籍或教程中的基本字符串章节来排序。
-
@PeterJ_01 我不同意。提问者对
'0'、0和'\0'之间的区别感到困惑。仅仅因为它是一个相当基本的问题,并不意味着它不适合 Stack Overflow。不过,它可能与其他问题重复。 -
所以标题应该是:0和'0'有什么区别。这类问题的数量呈指数级增长。
标签: c arrays pointers char printf