Maison >développement back-end >Tutoriel C#.Net >Quelle doit être la valeur après case dans l'instruction switch ?

Quelle doit être la valeur après case dans l'instruction switch ?

烟雨青岚
烟雨青岚original
2020-07-07 14:31:0619820parcourir

La valeur après case dans l'instruction switch doit être une constante. Parce que dans l'instruction switch, une table de sauts sera générée en fonction de la valeur constante derrière l'étiquette du cas. Après seulement quelques comparaisons, vous pouvez accéder à l'étiquette correspondante si les variables sont autorisées, le changement ne peut être effectué que du début à la fin. sur une donnée. La comparaison perd son sens.

Quelle doit être la valeur après case dans l'instruction switch ?

La valeur après case dans l'instruction switch doit être une constante.

Parce que switch en langage C ne remplace pas if.

Le commutateur sera optimisé lors de la compilation et une table de sauts sera générée en fonction de la valeur constante derrière l'étiquette du cas. Après seulement quelques fois de comparaison, vous pourrez accéder à l'étiquette correspondante.

Par conséquent, les tags ne peuvent pas être répétés. Si les variables sont autorisées, switch ne peut que dégénérer en une série de if else, et une donnée ne peut être comparée que du début à la fin, perdant ainsi le sens de switch.

La complexité de la table de sauts et de la comparaison une par une est très différente entre ces deux méthodes.

C'est aussi une des raisons pour lesquelles python n'introduit pas de structure de contrôle correspondant au cas switch en langage C.

Expression générale :

switch (表达式)
{
    case 常量表达式1:    语句1
    case 常量表达式2:    语句2
       ┇
    case 常量表达式n:    语句n
    default:        语句n+1
}

switch signifie "switch", c'est aussi une instruction "select", mais son utilisation est très simple. switch est une instruction de sélection multibranche. Pour faire simple, plusieurs branches sont plusieurs si.

Fonctionnellement parlant, les instructions switch et if peuvent se remplacer complètement. Mais du point de vue de la programmation, ils ont chacun leurs propres caractéristiques, on ne peut donc pas dire pour l'instant que l'un puisse remplacer complètement l'autre.

Lorsqu'il y a relativement peu de if imbriqués (moins de trois), il sera plus simple d'écrire un programme en utilisant if.

Mais lorsque de nombreuses branches sont sélectionnées, il y aura de nombreux niveaux d'instructions if imbriquées, ce qui entraînera un programme long et une lisibilité réduite.

Par conséquent, le langage C fournit une instruction switch pour gérer plusieurs sélections de branches. Donc, on peut dire que if et switch ont une division claire du travail. Dans de nombreux grands projets, des situations de sélection multi-branches sont souvent rencontrées, c'est pourquoi les instructions switch sont encore utilisées assez souvent.

Tutoriel recommandé : "Langage C"

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