代碼中常有類似的如下的輸入迴圈 char c; while((c=getchar())!=EOF).... 如果輸入 字元+換行時,迴圈的代碼會執行兩次,主要是換行鍵作為字元存到了緩存隊列中,第一次c為輸入的值,第二次c為換行符 ,可以通過fflush(stdin);清除 ...
代碼中常有類似的如下的輸入迴圈
char c;
while((c=getchar())!=EOF)....
如果輸入 字元+換行時,迴圈的代碼會執行兩次,主要是換行鍵作為字元存到了緩存隊列中,第一次c為輸入的值,第二次c為換行符 ,可以通過fflush(stdin);清除
EOF在linux下為ctrl+D window下為ctrl+z
這種迴圈寫法雖然比較標準,但是感覺有點笨重
一般情況下可以改寫如下:
char c;
while((c=getchar())!='\n').....
順便說下C語言中單引號和雙引號的區別,單引號主要表示字元,雙引號主要表示字元串
‘\n'表示一個字元,也就是換行,”\n“,包括 '\n' 和'\0' ,'\0' 為字元串的結束符,一般系統自動添加