在Switch 語句中選擇值範圍
在提供的範例中,編譯器因switch 中的語法無效而遇到錯誤陳述。程式碼嘗試使用語法「case >= value」和「case == value」來指定值的範圍,這在 C 中不是標準的。
要解決此問題,需要注意的是,某些編譯器支援大小寫範圍作為 C 語言的擴展。指定值範圍的語法是「case value ... value」。
大小寫範圍的修訂程式碼:
#include <iostream> using namespace std; int main() { int score; // Get score from user cout << "Score: "; cin >> score; // Switch statement with case ranges switch (score) { case 0: cout << "a"; break; case 0 ... 9: cout << "b"; break; case 11 ... 24: cout << "c"; break; case 25 ... 49: cout << "d"; break; case 50 ... 100: cout << "e"; break; default: cout << "BAD VALUE"; break; } cout << endl; return 0; }
編譯器支援大小寫範圍:
編譯器支援大小寫範圍:
Intel C/ C 編譯器13.0.1
if (score >= 100) { cout << "a"; } else if (score >= 50) { cout << "b"; } else if (score >= 25) { cout << "c"; } else if (score >= 10) { cout << "d"; } else if (score > 0) { cout << "e"; } else if (score == 0) { cout << "f"; } else { cout << "BAD VALUE"; }如果您的編譯器不支援大小寫範圍,您將需要使用在switch 語句中選擇一系列值的不同方法。一種選擇是使用一系列嵌套的 if-else 語句,如下所示:
以上是如何在 C Switch 語句中實現基於範圍的情況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!