Hoi, ik heb een vraag:
Het is normaal gesproken zo dat als je door een multidimensionale array wilt gaan dan neem je een for loop.
Zoals het volgende:
Output: str1 str1 str1 str2 str2 str2 str3 str3 str3
Echter wil ik het met een while loop doen. En dan krijg ik dit:
Output: str1 str1 str1
Dit doe ik met GCC 4.7.2. Is dit een bug of toch een standaard die ik over het hoofd zie? Of doe ik iets verkeert?
Het is normaal gesproken zo dat als je door een multidimensionale array wilt gaan dan neem je een for loop.
Zoals het volgende:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| const char * array[3][3] = { {"str1", "str1", "str1"}, {"str2","str2", "str2"}, {"str3","str3","str3"} }; int main() { int i, j; for(i = 0; i < 3; i++) { for(j = 0; j < 3; j++) { printf("%s ", array[i][j]); } } return 0; } |
Output: str1 str1 str1 str2 str2 str2 str3 str3 str3
Echter wil ik het met een while loop doen. En dan krijg ik dit:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| const char * array[3][3] = { {"str1", "str1", "str1"}, {"str2","str2", "str2"}, {"str3","str3","str3"} }; int main() { int i = 0; int j = 0; while(i < 3) { while(j < 3) { printf("%s ", array[i][j]); j++; } i++; } return 0; } |
Output: str1 str1 str1
Dit doe ik met GCC 4.7.2. Is dit een bug of toch een standaard die ik over het hoofd zie? Of doe ik iets verkeert?