Les programmeurs utilisent l’opérateur ternaire pour la prise de décision à la place des instructions conditionnelles if et else plus longues.
L’opérateur ternaire prend trois arguments:
- La première est une comparaison argument
- le second est Le résultat d’une véritable comparaison
- Le troisième est le résultat d’une fausse comparaison
Elle aide à penser de l’opérateur ternaire comme une manière de sténographie ou la rédaction d’un if-else., Voici un exemple de prise de décision simple en utilisant if et else:
int a = 10, b = 20, c;if (a < b) { c = a;}else { c = b;}printf("%d", c);
Cet exemple prend plus de 10 lignes, mais ce n’est pas nécessaire. Vous pouvez écrire le programme ci-dessus en seulement 3 lignes de code en utilisant un opérateur ternaire.
Syntaxe
condition ? value_if_true : value_if_false
La déclaration donne value_if_true
si condition
et value_if_false
le contraire.,
Voici l’exemple ci-dessus réécrit pour utiliser l’opérateur ternaire:
int a = 10, b = 20, c;c = (a < b) ? a : b;printf("%d", c);
la Sortie de l’exemple ci-dessus devrait être:
10
c
est égal à a
, parce que la condition a < b
était vrai.
Souvenez-vous que les arguments value_if_true
et value_if_false
doit être du même type, et ils doivent être des expressions simples plutôt que des états.
Les opérateurs ternaires peuvent être imbriqués comme les instructions if-else., Considérons le code suivant:
int a = 1, b = 2, ans;if (a == 1) { if (b == 2) { ans = 3; } else { ans = 5; }} else { ans = 0;}printf ("%d\n", ans);
Voici le code ci-dessus réécrit en utilisant une étude opérateur ternaire:
int a = 1, b = 2, ans;ans = (a == 1 ? (b == 2 ? 3 : 5) : 0);printf ("%d\n", ans);
La sortie des deux jeux de code ci-dessus devrait être: