L'operateur de condition ?:

Résolu
yassienrt Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
bonjour,
je cherche un exemple d'utilisation de l'operateur ?: et sa maniere d'utilisation??
merci bien

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
En C ?
https://c.developpez.com/cours/bernard-cassagne/node99.php#SECTION00927100000000000000

Opérateur conditionnel:

expression1 ? expression2 : expression3

Sémantique :

expression1 est évaluée et doit délivrer une valeur de type entier. Si cette valeur est :

- non nulle, expression2 est évaluée et le résultat est la valeur de l'expression conditionnelle.
- nulle, expression3 est évaluée et le résultat est la valeur de l'expression conditionnelle.

Exemples
Cet opérateur permet de remplacer une instruction if :

max = a > b ? a : b;

On peut utiliser cet opérateur en cascade, mais la lisibilité en souffre :

printf("i est %s",i < 0 ? "negatif\n" : i > 0 ? "positif\n" : "nul\n");
0
yassienrt Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   1
 
merci bien pour ton explication :)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,


On peut utiliser cet opérateur en cascade, mais la lisibilité en souffre :

En effet, mais ce n'est pas le langage qui donne la lisibilité (sauf les limites imposées) mais la façon de l'écrire.

On peu écrire comme ça, et la lisibilité ne souffre pas
#include<stdio.h>

int main ()
{
  int i = 5;
  printf ("i est %s", i < 0 ? "negatif\n" :
                      i > 0 ? "positif\n" :
                      "nul\n");
  return 0;
}
0