printf
当我使用 ASCII 表中的 NULL 字符时,为什么打印一个空格而不是停止?这就是我的意思:
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 上试过这个,都是一样的。
问题出在哪里?我问了我的一位朋友,但他说他没有这样的问题,所有三个示例都以相同的方式执行。