Maison >développement back-end >C++ >Comment résoudre les erreurs de compilation lors de l'utilisation de plages de cas dans les instructions Switch ?

Comment résoudre les erreurs de compilation lors de l'utilisation de plages de cas dans les instructions Switch ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-12 06:26:02939parcourir

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

Plages de cas dans les instructions Switch : résolution des erreurs de compilation

Introduction

Lors d'une tentative de compilation de code utilisant une instruction switch avec plages de cas, vous pouvez rencontrer des erreurs si le compilateur ne prend pas en charge les plages de cas en tant qu'extension du standard C. Cet article fournit une solution à ce problème.

Problème rencontré

L'extrait de code donné :

#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;
}

génère des erreurs de compilation en raison de l'utilisation de plages de cas (par exemple, cas >= 100).

Solution : prise en charge des plages de cas

Certains compilateurs prennent en charge les plages de cas en tant qu'extension de C . Pour résoudre le problème de compilation, utilisez la syntaxe suivante pour les plages de cas :

case a ... b:

où a et b sont les limites inférieure et supérieure de la plage.

Code mis à jour :

L'extrait de code mis à jour ressemblerait à :

#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;
}

Notez que la limite inférieure du la première plage de cas (0) est inclusive, tandis que la limite supérieure de toutes les plages de cas suivantes est exclusive.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn