L'operateur de condition ?:

Résolu
yassienrt Messages postés 31 Statut Membre -  
lami20j Messages postés 21506 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
Configuration: Windows Vista
Internet Explorer 7.0

3 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  2. yassienrt Messages postés 31 Statut Membre 1
     
    merci bien pour ton explication :)
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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