程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> int-c入門的行計數問題,為什麼結果總是0?

int-c入門的行計數問題,為什麼結果總是0?

編輯:編程綜合問答
c入門的行計數問題,為什麼結果總是0?

行計數程序:

1 #include
2
3 main()
4 {
5 int c, nl;
6
7 nl = 0;
8 while ((c = getchar()) != EOF);
9 if (c == '\n')
10 ++nl;
11 printf("%d\n", nl);
12 }
13
執行:
Press ENTER or type command to continue
\n
\n
\n
\n
0

shell returned 2

Press ENTER or type command to continue

Press ENTER or type command to continue
a
a
a
a
0

shell returned 2
最後一行按crtl+d,為什麼都是0。還有最後的shell returned為什麼是2?謝謝

最佳回答:


#include

int main()
{
int c, nl;
nl = 0;
while ((c = getchar()) != EOF){
if (c == '\n')
++nl;
}
printf("%d\n", nl);
}
你的程序沒完整,不太清楚你問的那個shell return 2。這是我根據你那個程序改的,你主要的錯誤是while後面要加一個‘{’把判斷換行符的語句包括進去,不然按照你的加‘;’這個while循環什麼都不執行,只是一直讀入字符判斷是不是結束而已。別聽上面兩個的,沒EOF怎麼判斷while結束?我們按下ctrl+z(你的是d應該是Linux下的,我的是windows的)表示輸入結束,這點多編程大家都知道=。=不知道他們怎麼想的

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved