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. 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
    1. merci bien pour ton explication :)
      0
      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