Exercice langage C: les valeurs des variables après exécution d'un programme
Rédigé par BENKIRANE Fatima Ezzahra, Publié le 24 Février 2012, Mise à jour le Lundi, 07 Novembre 2022 14:31(*3) Soit le code suivant :
int i;
printf("i? ");
scanf("%d", &i);
switch (i) {
case 0 : printf(" NUL"); break;
case 1 : case 3 : case 5 : case 7 : case 9 :
printf(" IMPAIR"); break;
case 2 : case 4 : case 6 : case 8 :
printf(" PAIR"); break;
default : printf("NEGATIF OU PAS UN CHIFFRE"); break;
}
Réécrivez l’instructionswitch en n’utilisant que des instructionsif.
(*2) Soit le code suivant :
int i = 0, j = 5, somme = 20 ;
if (j && (i = somme / j) ) somme = 10 ;
else somme = 30 ;
Donnez les valeurs des variables après l’exécution de ce programme.
Réponse : i vaut 4, j vaut 0 et somme vaut 10.
Le test dans l’instruction if peut s’écrire ainsi :
j != 0 && (i = somme / j) != 0
Comme j est différent de zéro (il vaut 5), le premier terme est vrai. Le résultat de l’expression somme/j est d’abord calculé, donc la valeur 4 est stockée dans i, qui différente de 0, entraîne que le second terme est vrai également.
En conséquence, i vaut 4, j vaut 0 et somme vaut 10.