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

C 語言 getchar 循環無輸出:邏輯導致需輸入特定次數才結束

     編輯:程式設計疑難解答

代碼分析

for (int i=0; i<=5; i++) {
    while((S=getchar()) != '2')
        C[i] = S;
}

執行邏輯

  • 外層循環 6 次(i=0~5)。
  • 內層 while 讀取字符直到遇到 '2',將 '2' 前一字符存入 C[i]。
  • 需輸入 6 個 '2' 才能結束外層循環。

測試輸入

輸入 12123242542778792(含 5 個 '2')程序仍等待第 6 個 '2';輸入 6 個 '2' 後正常結束並打印數組內容。

建議

明確輸入結束條件,或改用 EOF (Ctrl+Z/Ctrl+D) 控制循環。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved