#include<stdio.h>
int main()
{
printf("\101\102\103\104\105\12");
return 0;
}
当我执行此代码时,它会打印
ABCDE
。如果我像下面这样给出 Printf printf("\1011\102\103\104\105\12");
它打印A1BCDE。为什么它打印成这样?
\101
生成八进制字节 101,即十六进制 41 或十进制 65。您的终端将该字节显示为 A
,因为它需要 UTF-8 或其他一些 ASCII 派生编码,并且该字节在这些编码中映射到 A
。