1. 程式人生 > >在whlie中\r\n空格的區別

在whlie中\r\n空格的區別

#include <stdio.h>
int main()
{
char c;
while((c=getchar())!=’\n’)//檢測到回車,退出迴圈
{
if((c>=‘a’&&c<=‘z’)||(c>=‘A’&&c<=‘Z’))
{
c=c+4;
if((c>‘Z’&&c<=‘Z’+4)||c>‘z’)c=c-26;
/*小寫字母ascii比大寫字母ascii碼大,所以小寫"z"ascii是最大的 ,
而大寫字母如不加<=“z”+4,可能會出現小寫字母a到w被減26的情況 */
}
printf("%c",c);
}
printf("\n");
return 0;

}
介紹下本人,c語言小萌新一名,上面的程式是我今天遇到的一個難題。
while迴圈中的/n,我嘗試了\r和空格,均不影響執行結果,所以很是糾結,查了各位大神的見解,我總結了下自己的理解。
首先迴圈結束是因為檢測到了enter鍵,而enter在c語言裡就等於\r\n,且程式執行時,按下enter程式才會接收字串,所以即使程式用了getchar他仍然可以輸出整個字串。
這樣\r,\n都可以解釋了,但是空格執行也沒問題,這點我猜測是因為按了回車所以行尾自動補充了空格,不知是這種情況嗎?
注:\n回車加換行
\r只回車不換行,即將游標移至本行行首。