Exercice langage C: les valeurs des variables après exécution d'un programme

(*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.

Article publié le 24 Février 2012 Mise à jour le Lundi, 07 Novembre 2022 14:31 par BENKIRANE Fatima Ezzahra