[英]No output in word count program in C
我是C語言的新手。 我最近了解了getchar()函數。 我編寫了一個程序來計算輸入中的單詞數。 該程序如下:(我正在使用代碼塊):
#include <stdio.h>
main(){
int c, nw; /*nw stands for NUMBER OF WORDS*/
while((c=getchar())!=EOF){
if (c==' '||c=='\t'||c=='\n')
++nw;
}
printf("NUMBER OF WORDS ARE:%d",nw);
}
當我運行程序時,它接受輸入,但是沒有輸出。 無論您按回車多少次,它都會繼續接受輸入。
我試圖搜索一百萬次,但找不到答案。
但是,有人告訴我在while循環中包含Ctrl + D中斷。 我嘗試這樣做,但結果相同。
如果有人有解決方案,請幫助我。 從過去的2周開始,我試圖找出問題所在。
謝謝!
遇到EOF
(-1)時,循環將結束。
無論您按回車多少次,它都會繼續接受輸入。
因為'\\n' != EOF
。
為了刺激EOF
,
stdin
其中有要刷新的字符。 否則,它將EOF
發送到stdin
。 順便說一句,正如其他人所注意到的,您需要將nw
初始化為0。而且, main
的簽名應該是int main(void)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.