当我在Linux的终端上运行下面的代码时,终端会乱七八糟。
#include <stdio.h>
int main()
{
printf("\16x\n");
return 0;
}
为了好奇,有人可以解释一下这里发生了什么吗?我知道问题出在\ 16x,但我不知道为什么会发生。
答案 0 :(得分:6)
\16
是Shift Out的ASCII八进制代码。在现代终端中,它会发生这样的事情(图片来自维基百科):
此ASCII代码曾用于围绕切换编码,语言等的各种制造商特定用途。
有关他们过去所做的更多详情,请参阅Wikipedia。