Utilisation de l'opérateur ternaire en langage C : Tout d'abord, pour l'expression conditionnelle [b ? x : y], calculez la condition b puis faites un jugement Si la valeur de b est vraie, calculez la valeur. of est la valeur de x, sinon, calculez la valeur de y et le résultat de l'opération est la valeur de y.
Utilisation de l'opérateur ternaire en langage C :
Pour l'expression conditionnelle b ? x : y
, la condition b est d'abord calculée puis jugée. Si la valeur de b est vraie, la valeur de x est calculée et le résultat de l'opération est la valeur de x sinon, la valeur de y est calculée et le résultat de l'opération est la valeur de y ;
Une expression conditionnelle n’évalue jamais à la fois x et y. Les opérateurs conditionnels sont associatifs à droite, c'est-à-dire qu'ils sont évalués en groupes de droite à gauche. Par exemple, a ? b : c ? d : e
sera exécuté comme a ? b : (c ? d : e)
.
peut être compris comme une condition Résultat 1 : Résultat 2 ? Le numéro est une exigence de format. Cela peut également être compris comme si la condition est vraie, la condition est vraie, le résultat est 1, sinon c'est le résultat 2.
Informations étendues :
L'opérateur ternaire, également appelé opérateur conditionnel, fait référence aux fonctions importantes des langages informatiques (c, c++, java, etc.) composants. C'est le seul opérateur à 3 opérandes, c'est pourquoi on l'appelle parfois opérateur ternaire. D'une manière générale, l'associativité des opérateurs ternaires est juste associative.
Voici quelques explications sur les opérateurs conditionnels :
(1). Habituellement, l'expression 1 est une expression relationnelle ou une expression logique, utilisée pour décrire des expressions conditionnelles. Les conditions, expression2 et expression3 peuvent être des constantes, des variables ou des expressions. Par exemple :
(x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch
Les expressions ci-dessus sont toutes des expressions conditionnelles légales.
(2). L'ordre d'exécution des expressions conditionnelles est le suivant : résolvez d'abord l'expression 1. Si la valeur est non-0, cela signifie que la condition est vraie, puis résolvez l'expression 2. À ce moment, la valeur de l'expression 2 est comme La valeur de l'expression conditionnelle entière
Si la valeur de l'expression 1 est 0, ce qui signifie que la condition est fausse, alors l'expression 3 est résolue et la valeur de l'expression 3 est la valeur de l'expression conditionnelle entière. Par exemple :
(a>=0)?a:-a
Le résultat de l'exécution est la valeur absolue de a.
(3) Dans le programme, la valeur de l'expression conditionnelle est directement affectée à une variable. Par exemple :
min=(a<b)?a:b
Le résultat de l'exécution consiste à attribuer la valeur de l'expression conditionnelle à la variable min, c'est-à-dire à attribuer le plus petit nombre de a et b à min.
(4). Le niveau de priorité des expressions conditionnelles est seulement supérieur à celui des opérateurs d'affectation, mais inférieur à tous les opérateurs rencontrés précédemment.
Par conséquent, les crochets min=(a<b)?a:b
ne sont pas obligatoires et peuvent être écrits directement, min=a<b?a:b
S'il y a x<y?x+1:y-1
, cela équivaut à x<y(x+1):(y-1)
mais pas à (x<y?x+1:y)-1
(5) , La direction de combinaison des opérateurs conditionnels est "de droite à gauche".
(6) , Les expressions conditionnelles peuvent être imbriquées, c'est-à-dire que l'expression 2 et l'expression 3 dans l'expression conditionnelle sont autorisé à être une autre expression de condition. Par exemple :
x>0?1:x<0?-1:0
Dans l'expression conditionnelle ci-dessus, la 3ème partie de l'expression est également une expression conditionnelle Selon l'associativité de l'expression conditionnelle, l'expression conditionnelle ci-dessus est équivalente à :
x>0?1:(x<0?-1:0)
if(a%2==0)printf("even/n");elseprintf("odd/n");
Tutoriel vidéo 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!