首頁 >後端開發 >C++ >如何解決在 Switch 語句中使用 Case 範圍時的編譯錯誤?

如何解決在 Switch 語句中使用 Case 範圍時的編譯錯誤?

Patricia Arquette
Patricia Arquette原創
2024-11-12 06:26:02935瀏覽

How to Resolve Compilation Errors When Using Case Ranges in Switch Statements?

Switch 語句中的大小寫範圍:解決編譯錯誤

簡介

嘗試使用switch 語句編譯程式碼時大小寫入範圍,如果編譯器不支援大小寫範圍作為C 標準的擴展,則可能會遇到錯誤。本文提供了此問題的解決方案。

遇到的問題

給定的程式碼片段:

#include <iostream>
using namespace std;

int main(){
    int score;

    //Vraag de score
    cout << "Score:";
    cin >> score;

    //Switch
    switch(score){
        case >= 100:
            cout << "a";
            break;
        // ... (other cases omitted)
    }
    return 0;
}

由於使用而產生編譯錯誤大小寫範圍(例如,case >= 100)。

解決方案:大小寫範圍支援

某些編譯器支援大小寫範圍作為 C 的擴充。要解決編譯問題,請對大小寫範圍使用以下語法:

case a ... b:

其中 a 和 b 是範圍的下限和上限。

更新的程式碼:

更新後的程式碼片段如下圖所示:

#include <iostream>
using namespace std;

int main(){
    int score;

    //Vraag de score
    cout << "Score:";
    cin >> score;

    //Switch
    switch(score){
        case 0:
            cout << "a";
            break;
        case 1 ... 9:
            cout << "b";
            break;
        // ... (other cases omitted)
    }
    return 0;
}

請注意,第一個case 範圍的下限(0) 包含在內,而所有後續case 範圍的上限是獨家的。

以上是如何解決在 Switch 語句中使用 Case 範圍時的編譯錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn