为什么当我使用ASCII表中的空字符时,printf
会打印一个空格而不是停止?我的意思是:
printf("Hello%c, world", 0); //Hello , world
printf("Hello%c, world", '\0'); //Hello , world
只有在字符串本身中放置转义字符时,printf
才停止输出字符串:
printf("Hello\0, world"); //Hello
我在Windows 8,Windows 10(使用cygwin、MinGW、Netbeans、Code::Blocks),XUbuntu上尝试了这个方法,结果都一样。
问题出在哪里?我问了一个朋友,但他说他没有这样的问题,三个例子都执行得很好。
'\0'
是空终止字符? - David Ranieri