首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言行計數程序輸出為 0 的常見錯誤與修正

     編輯:程式設計綜合問答

錯誤代碼

while ((c = getchar()) != EOF);  // 分號導致循環體為空
if (c == '\n') ++nl;             // 循環結束後只判斷最後一個字符

修正

int c, nl = 0;
while ((c = getchar()) != EOF) { // 去掉分號,加大括號
    if (c == '\n') ++nl;
}
printf("%d\n", nl);

解析

  • 原代碼 `while(...);` 只讀字符不執行體,退出時 `c == EOF`,`if` 判斷失敗。
  • Windows 控制台 EOF 為 `Ctrl+Z`,Linux/Mac 為 `Ctrl+D`。
  • `shell returned 2` 非程序返回值,可能是編輯器/運行器狀態碼。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved