Commande en C

OrganicTrain6 -  
arthurc Messages postés 27 Statut Membre -
Bonjour, pouvez vous m'expliquer la commande ci-dessous s'il vous plait
merci pour vos réponse

int col = ( argc==2 ? ( atoi(argv[1])>0 ? atoi(argv[1]) : 20 ) : 20 );

1 réponse

  1. arthurc Messages postés 27 Statut Membre 4
     
    Salut;

    Deux opérateur ternaires imbriqués !
    argc et argv correspondent aux arguments de ta fonction main, argc le nombre d'argument passé en ligne de commande, argv un tableau de chaines de caractères correspondants à ces arguments
    atoi converti une chaine de caractère en entier.
    l'opérateur ternaire fonctionne ainsi
    <condition> ? <valeur si vrai> : <valeur si faux>
    col prend la valeur 20 si le nombre d'argument est différent de 2
    si il est égal à 2, col prend la valeur entière du 2 em argument si il est strictement supérieur à 0, sinon 20

    0