Bonsoir,
Je sais que ma question peut paraître tarabiscotée mais quelque chose m'intrigue à propos du while interne du code ci-dessous :
Normalement on sort d'un while quand l'expression est à zéro et je ne sors pas de mon while interne -
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 do{ printf("un nb svp\n"); compte = scanf("%d", &x); while (y=(getchar()!='\n'),z=printf("y=%d et z=%d\n",y,z)); } while(compte!=1);- alors même que le
Code : Sélectionner tout - Visualiser dans une fenêtre à part while (y=(getchar()!='\n'),z=printf("y=%d et z=%d\n",y,z))est à 0 et le
Code : Sélectionner tout - Visualiser dans une fenêtre à part (getchar()!='\n')- que j'ai inséré pour voir ce que vaut le getchar() - et je teste même le printf avec le z - qui est aussi à zéro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part printf("y=%d et z=%d\n",y,z)
Donc tout le while vaut zéro - à la première saisie ensuite z se met à valoir 11, puis 12 ! - et je devrais en sortir à la première saisie, mais non je reste dedans et je ne comprends pas du tout pourquoi ?
Je vous remercie de bien vouloir m'éclairer là dessus si vous avez une idée, merci d'avance !
Partager