在C 中處理不正確的資料型態輸入
在C 中,當程式無法處理輸入時,不正確的資料類型輸入可能會導致無限循環預期的類型。例如,如果請求的是整數,但輸入的是字符,則程式可能會進入無限輸入循環。
解決方案:
根本問題是設定當輸入不符合預期類型時,std::cin 中的「錯誤輸入標誌」。要解決此問題:
以下程式碼片段演示了這一解決方案:
while (std::cout << "Enter a number" && !(std::cin >> num)) { std::cin.clear(); // Clear bad input flag std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Discard input std::cout << "Invalid input; please re-enter.\n"; }
此程式碼循環將繼續,直到提供有效的輸入。
或者,可以取得輸入作為字串並使用 std::stoi 或啟用轉換驗證的類似方法將其轉換為整數。
以上是如何處理不正確的資料類型輸入並避免 C 中的無限循環?的詳細內容。更多資訊請關注PHP中文網其他相關文章!