Qu'elle est la signification de la boucle for(;x++;)

Résolu
LACHHABFADOUA Messages postés 24 Statut Membre -  
yg_be Messages postés 24281 Statut Contributeur -
Bonjour,
SVP, y a t-il quelqu'un qui peut m'expliquer comment la boucle suivante fonctionne
 for(;x++;)

Merci d'avance


Configuration: Windows / Chrome 91.0.4472.114

1 réponse

yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
bonjour,
je pense que c'est identique à
while(x++)
0
LACHHABFADOUA Messages postés 24 Statut Membre
 
stp, peux-tu m'explique son fonctionnement dans le code suivant
#include<stdio.h>
int main(){
char x=2;
for(;x++;);
printf("x=%d\n",x);
}

il affiche comme résultat x=1
0
yg_be Messages postés 24281 Statut Contributeur 1 584 > LACHHABFADOUA Messages postés 24 Statut Membre
 
qu'attends-tu d'autre?
0
LACHHABFADOUA Messages postés 24 Statut Membre > yg_be Messages postés 24281 Statut Contributeur
 
Je n'arrive pas a compris le code.
0
yg_be Messages postés 24281 Statut Contributeur 1 584 > LACHHABFADOUA Messages postés 24 Statut Membre
 
ajoute peut-être un printf dans la boucle, cela t'aidera.
0
Dalfab Messages postés 720 Statut Membre 101 > yg_be Messages postés 24281 Statut Contributeur
 
Mais avec le
prinf()
, il va falloir être très très patient.
Après 2, il vient 3. Après 3, il vient 4. Après 4, il vient 5 ... ... Après 2147483646, il vient 2147483647.
Mais après 2147483647, il vient -2147483648. Après -2147483648, il vient -2147483647. Après -2147483647, il vient -2147483646 ... ... Après -3, il vient -2. Après -2, il vient -1. Après -1, il vient 0.
Et à ce moment le test
x++
retourne faux car
x
est nul et donc la boucle s'arrête.
Et donc le
++
fait que
x
devient 1.
0