\n 為ASCII的0x0a 換行
\r 為ASCII的0x0d 回車
在windows 系統中,當你輸入回車時會自動變成\r\n
在linux下的回車鍵只代表\n
而在windows下的回車鍵表示\r\n
\n為進入下一行,\r為打印頭回到行首上
linux/unix下只用\n,它就表示回車+換行
而windows下,\r只回車不換行的,\n是換行,但在有些編輯中,單獨的\n是不會換行的(如notepad)
一般在程序中,寫\n就可以了,它在linux或windows中都能實現回車+換行的功能(只是在文本文件中,linux只會有0x0a,windows會自動換為0x0d 0x0a)
下面舉個例子: www.2cto.com
#include<stdio.h>
int main()
{
char a[10]="abc\r";
printf(a);
return 0;
}
程序運行時沒有任何輸出。
原因就是 \r 回車 表示打印頭回到該行起始位置,從而覆蓋了abc,所以控制台上就沒有任何輸出啦!
摘自 姜亞風CSDN博客