Maison >développement back-end >C++ >Comment puis-je obtenir un comportement de transition dans les instructions C Switch ?

Comment puis-je obtenir un comportement de transition dans les instructions C Switch ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 14:26:42917parcourir

How Can I Achieve Fallthrough Behavior in C Switch Statements?

Chute à travers plusieurs cas dans les instructions C Switch

Dans le contexte de la programmation C, il est courant d'exécuter plusieurs instructions case consécutivement dans une instruction switch. Cette fonctionnalité, connue sous le nom de « cas de repli », est souvent utilisée lorsque l'action souhaitée pour une plage de valeurs est identique.

Cependant, la syntaxe fournie dans l'exemple de la question :

switch (value)
{
    case 1, 2, 3:
        // Do something
        break;
    case 4, 5, 6:
        // Do something
        break;
    default:
        // Do the Default
        break;
}

n'est pas valide en C. Bien que l'idée soit de regrouper les cas à l'aide d'une liste séparée par des virgules, C ne prend pas en charge cette syntaxe pour les instructions switch.

Pour obtenir l'objectif souhaité comportement, il existe deux options :

  1. Instructions de cas individuelles : L'approche traditionnelle consiste à utiliser des instructions de cas distinctes pour chaque valeur. Par exemple :
switch (value)
{
    case 1:
    case 2:
    case 3:
        // Do something
        break;
    case 4:
    case 5:
    case 6:
        // Do something
        break;
    default:
        // Do the Default
        break;
}
  1. Option mixte : Bien que mélanger les cas de chute et les instructions de cas individuelles ne soit pas toujours recommandé, cela peut être syntaxiquement élégant dans certains scénarios. Par exemple :
switch (value)
{
    case 1: case 2: case 3:
        // Do Something
        break;
    case 4: case 5: case 6:
        // Do Something
        break;
    default:
        // Do Something
        break;
}

Ici, la première instruction case profite de la fonctionnalité de repli, tandis que la seconde instruction case utilise des valeurs de cas individuelles. Cette approche hybride peut être utile dans certaines situations.

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