Incompréhension de l'erreur d'un QCM [Résolu/Fermé]

Signaler
-
Messages postés
97
Date d'inscription
samedi 1 janvier 2011
Statut
Membre
Dernière intervention
8 juin 2015
-
Bonjour,

J'apprend le C++ via Coursera et après la correction d'un QCM je ne comprend pas mon erreur.
Voici le code:

int a(5);
int b(7);
int c(5);

if (a + b > c){
    cout << "1" << " ";
    b += 5;
}
else{
    cout << "2" << " ";
}

if (b % 2 == 0){
    if (a % c == 0){
        cout << "3" << " ";
    }
    else{
        cout << "4" << " ";
    }
}
else{
    cout << "5" << " ";
}


La question est d'afficher la sortie de cout, je répond 1 4 mais c'est visiblement faux et je ne saisis pas pourquoi. Les réponses sont :
1 4

2 4

2 5

1 3

Auriez vous une explications ?
Merci


EDIT: Ajout de la coloration syntaxique.

1 réponse

Messages postés
97
Date d'inscription
samedi 1 janvier 2011
Statut
Membre
Dernière intervention
8 juin 2015
14
Je ne connais pas le C++ (seulement le C) et donc je ne connais pas la syntaxe cout << "1" << " "; mais par contre pour le reste es tu sûr d'avoir compris ce que fait par exemple b += 5; ainsi que l'opérateur "%" ?
b+=5 correspond à b= b+5 et % est le modulo
Donc b+=5 donne b=12 et b % 2 ==0 c'est juste donc nous devrions nous brancher sur le second if (a % c == 0) qui est faux puisque le modulo est de 1.

cout correspond au printf
je viens de comprendre 5%5 donne évidement 0
Messages postés
97
Date d'inscription
samedi 1 janvier 2011
Statut
Membre
Dernière intervention
8 juin 2015
14
Exact !