c语言中编程的问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 10:34:45
#include<stdio.h>
main()
{
printf("\101\x42 c\n");
}
为什么c前面必须要加空格,不加编译时会报错才,而AB中间就可加可不加,这是语法问题吗

\ddd 1到3位8进制所代表的字符
\xhh 1到2位16进制所代表的字符

\x42就是一个2位的16进制的字符,如果不加空格,超出了字符表达的范围了!

因为空格使解析器知道这是两个字符,如果没空格,解析器就以为是一个字符,而这个字符的数字太大,故报错