printf的意外结果

San*_*eep 4 c printf

#include<stdio.h>
int main()
{
    printf("He %c llo",65);
}
Run Code Online (Sandbox Code Playgroud)

输出:他A

#include<stdio.h>
int main()
{
    printf("He %c llo",13);
}
Run Code Online (Sandbox Code Playgroud)

输出:llo.它不打印他.

我可以理解,65是A的ascii值,因此A在第一种情况下打印,但为什么llo在第二种情况下.

谢谢

Pla*_*ure 10

ASCII 13是回车符,在某些系统上只是将光标移动到刚刚开启的行的开头.

然后其他字符将删除较早的文本.


ste*_*anB 5

男子ascii:

Oct   Dec   Hex   Char
015   13    0D    CR  '\r'
Run Code Online (Sandbox Code Playgroud)

字符13是回车符,因此它打印He然后返回到行的开头并打印提醒llo.