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
Libérer: 2024-11-12 06:26:02
original
939 Les gens l'ont consulté

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;
}
Copier après la connexion

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:
Copier après la connexion

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;
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal