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

  • Votes
  • Date
  • Date décroissante
  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");
    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;
      }