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!