在whlie中 r n空格的區別

2021-08-31 15:46:47 字數 414 閱讀 8041

#include

int main()

printf("%c",c);

}printf("\n");

return 0;

}介紹下本人,c語言小萌新一名,上面的程式是我今天遇到的乙個難題。

while迴圈中的/n,我嘗試了\r和空格,均不影響執行結果,所以很是糾結,查了各位大神的見解,我總結了下自己的理解。

首先迴圈結束是因為檢測到了enter鍵,而enter在c語言裡就等於\r\n,且程式執行時,按下enter程式才會接收字串,所以即使程式用了getchar他仍然可以輸出整個字串。

這樣\r,\n都可以解釋了,但是空格執行也沒問題,這點我猜測是因為按了回車所以行尾自動補充了空格,不知是這種情況嗎?

注:\n回車加換行

\r只回車不換行,即將游標移至本行行首。

關於 r n和 r n的區別

什麼是回車,什麼是換行?在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33,linux unix下的tty概念也來自於此 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過...

r n和 n的區別

r 是回車,return n 是換行,newline 我們在平時使用電腦時,已經習慣了回車和換行一次搞定,敲乙個回車鍵,即是回車,又是換行,但在早期的打字機上,要另起一行打字需要兩個步驟,首先要傳送命令 r 將打字頭復位,即回車,然後再傳送命令 n 讓打字機走紙移到下一行,所以這個歷史遺留問題導致了...

n和 r n的區別

r是回車符,n是換行符 計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。於是,研製人員想了個辦法...