Sortie différente sur while et for identiques
Bonjour,
Sur ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include <stdio.h>
int main(){
char value[11] ="OH1B2RT56U";
char ref[5] ="abcd";
char new[40][3];
int i =0, j =0, k =0, l =0;
while(ref[i] !='\0'){
while(value[j] !='\0'){
new[k][l] =value[j];
l++;
new[k][l] =ref[i];
l =0;
printf("%s ",new[k]);
k++, j++;
}
j =0;
i++;
}
printf("\n");
k =0, l =0;
for(int i =0; ref[i] !='\0'; i++){
for(int j =0; value[j] !='\0'; j++){
new[k][l] =value[j];
l++;
new[k][l] =ref[i];
l =0;
printf("%s ",new[k]);
}
}
return (0);
} |
Les deux boucles font la même chose, mais à la sortie la boucle while tourne free style et n'affiche jamais les mêmes signes :
Code:
1 2
| Oa Ha 1a Ba 2a Ra Ta 5a 6a Ua Ob Hb 1b Bb 2b Rb Tbԇ�U 5bU 6b��� Ub Oc Hc 1c Bc 2c�U� Rc Tc��U� 5cU� 6c Uc�ԇ�U Od�U Hd 1dgl� Bd 2dP�ԇ�U Rd��U Td 5d 6d Ud
Oa Ha 1a Ba 2a Ra Ta 5a 6a Ua Ob Hb 1b Bb 2b Rb Tb 5b 6b Ub Oc Hc 1c Bc 2c Rc Tc 5c 6c Uc Od Hd 1d Bd 2d Rd Td 5d 6d Ud |
Quelqu'un, peut-il me dire pourquoi ?