1

当我在 Linux 终端上运行下面的代码时,终端一团糟。

#include <stdio.h>

int main()
{
    printf("\16x\n");

    return 0;
}

出于好奇,有人可以解释一下这里发生了什么吗?我知道问题出在 \16x 中,但我不知道为什么会这样。

4

1 回答 1

6

\16是 Shift Out 的 ASCII 八进制代码。在现代终端中,它会发生这样的事情(来自维基百科的图片): 破旧的终端 这个 ASCII 码曾经用于各种制造商特定用途,围绕切换编码、语言等。

有关他们过去所做的更多详细信息,请参阅Wikipedia 。

于 2013-11-05T15:17:57.073 回答