Bonjour à tous,
J'ai un tout petit programme super simple (en fait une sous-partie d'un plus gros programme) qui me pose un problème que je trouve hallucinant. Il s'agit d'assigner aux cases d'un tableau appelé "ligne" la valeur 1.
Voilà le code :
Quand n vaut 1, 2, 3, 4, 5 ou 7, les 2 printf me donnent la même chose :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 for (i=1;i<=n;i++) { ligne[i]=1; printf("ligne(%d)=%d\n",i,ligne[i]); } printf("\n"); // Vérification : for (i=1;i<=n;i++) { printf("ligne(%d)=%d\n",i,ligne[i]); }
par exemple pour n = 4
Quand n = 6 ou n >=8, ça ne me donne pas la même chose !!!ligne(1)=1
ligne(2)=1
ligne(3)=1
ligne(4)=1
par exemple pour n = 6, le 1er printf me donne
Mais le 2ème me donneligne(1)=1
ligne(2)=1
ligne(3)=1
ligne(4)=1
ligne(5)=1
ligne(6)=1
Ca me parait incompréhensible, j'ai beau le tourner dans tous les sens je ne vois pas quoi faire.ligne(1)=0
ligne(2)=0
ligne(3)=1
ligne(4)=1
ligne(5)=1
ligne(6)=1
Auriez-vous une idée ? Merci d'avance
Partager