printf("%c ",✀尀19✀);为什么输出结果是9啊

2025-04-27 21:29:32
推荐回答(2个)
回答1:

首先应当知道转义字符

转义字符\h、\hh、\hhh斜杠后面的是1~3位八进制数,该转义字符为ASCII码等于该值的字符。

转义字符\xh、\xhh的\x后面的是1~2位十六进制数,该转义字符为ASCII码等于该值的字符。

(然而对于'\19',它是不可打印的字符)一些编译器提示warning: multi-character character constant [-Wmultichar],即[警告]多字符字符常量〔Wmultichar〕时,只将最后一个字符赋给了变量,这时printf只打印了'9'。

你可以尝试pritf("%c",'\41');她会打印一个'!'。

我什么都不知道,请路过大佬指教。

回答2:

这是ASCII中的一个字符。
C/C++中如果想通过ASCII码来调用一个字符,可以通过两种格式:\ddd和\xhh。
\ddd表示一个1-3位的八进制ASCII码表字符,如\101代表字符'A'。
\xhh表示一个1-2位的十六进制ASCII码表字符,如\x41代表字符'A'。
你用的正好是第一种格式来调用'9'的字符。