Commande en C

Fermé
OrganicTrain6 - 4 mars 2011 à 09:42
arthurc Messages postés 26 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 25 mars 2011 - 4 mars 2011 à 11:09
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

arthurc Messages postés 26 Date d'inscription mardi 22 février 2011 Statut Membre Dernière intervention 25 mars 2011 4
4 mars 2011 à 11:09
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