L'operateur de condition ?:

Résolu
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. Contributeur
    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
    1. merci bien pour ton explication :)
      0
      1. Modérateur
        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