我使用Dev-C++ 5.11在我的Windows XP PC中創建了一個C程序。這是我看到了作爲一個典型的字符計數程序中的一個,它去如下:字符計數程序不工作,因爲它應該
#include <stdio.h>
main() {
long nc;
nc = 0;
while (getchar() != EOF) {
++nc;
}
printf("%ld", nc);
}
它編譯沒有問題,但它的作品,因爲它應該的人物中,只有當我按我包括回車鍵(\n
) 。如果我不打印它或者打印0或者什麼也不打印。我嘗試過包含其他字符,如製表符或退格鍵,但什麼也沒有。我正在使用Ctrl + C來終止它。我究竟做錯了什麼?
[while((c = getchar())!= EOF)不可能重複](http://stackoverflow.com/questions/18565663/while-c-getchar-eof-not-terminating ) –
也許它不工作,「它應該」,但它的工作原理,因爲你正在使用getchar()函數,它等待「輸入按鈕」 –
@DarkoDjuric:'getchar()'不等待「輸入」,它等待輸入實際出現在'stdin'處。兩者是完全不同的東西。 – DevSolar