C 中的 \ 是转义字符,如果后面接数字的话,代表字符的内码(一般为 ASCII 值),可是后面的数字应该是八进制的,八进制中没有数字 9,所以 '\091' 会出错。如果是字符串 "\091",\0 会被理解为第一个字符,后面的 9 和 1 就会被理解为另外两个字符的。\0 代表空字符,C 语言的标准字符串函数都回忽略空字符后面的字符,把整个字符串当作空字符串。 如果还有不了解的地方,请继续追问。