Le résultat d'un code en c
Résolu
LACHHABFADOUA
Messages postés
24
Statut
Membre
-
LACHHABFADOUA Messages postés 24 Statut Membre -
LACHHABFADOUA Messages postés 24 Statut Membre -
Bonjour,
svp, lorsque j'exécute le code suivant
je trouve comme solution y=13, x=0 , ms je n'arrive pas a comprendre.
pouvez vous m'expliquer le code
merci d'avance
svp, lorsque j'exécute le code suivant
#include <stdio.h>
int main(){
int x = 4, y = 3 * x--;
if( x = !5 || y++ > 12)
printf("x=%d, y=%d\n", x, y);
else
printf("y= %d, x=%d\n", y, x);
return 0;
}
je trouve comme solution y=13, x=0 , ms je n'arrive pas a comprendre.
pouvez vous m'expliquer le code
merci d'avance
Configuration: Windows / Chrome 91.0.4472.114
A voir également:
- Le résultat d'un code en c
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Code activation windows 10 - Guide
2 réponses
bonjour,
quel autre résultat attends-tu?
quel autre résultat attends-tu?
LACHHABFADOUA
Messages postés
24
Statut
Membre
je n'arrive pas a comprendre pourquoi, car si j'ai bien compris le code, dans if statement , deuxième condition y++>12 est vérifie puisque y=12, donc il doit afficher printf du if statement et non pas else
yg_be
Messages postés
24281
Statut
Contributeur
1 584
>
LACHHABFADOUA
Messages postés
24
Statut
Membre
est faux, y est incrémenté après la comparaison.
Bonjour,
Au départ
Dans la condition x vaut 0 car faire
Au départ
x = 4 et y = 12, ensuite x passe à 3 (x--)
Dans la condition x vaut 0 car faire
x = !5renverra un booléen (0 ou 1) ici 0, ce sera toujours 0 si x vaut autre chose que 0, essaie avec
x = !0au lieu de
x = !5et y vaut 12 lors de la comparaison et passera ensuite à 13, c'est une post-crémentation essaie avec
++yau lieu de
y++.