#include <stdio.h>
int main(void)
{
int cnt = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 10; j++) {
cnt++;
}
}
printf("%d\n", cnt);
return 0;
}
変数「cnt」が二重ループの外にある場合、「5 * 10 = 50」
「i」が「0」の時・・・「j」は「0~9」までカウントされて「cnt = 10」
「i」が「1」の時・・・「j」は「0~9」までカウントされて「cnt = 20」
「i」が「2」の時・・・「j」は「0~9」までカウントされて「cnt = 30」
「i」が「3」の時・・・「j」は「0~9」までカウントされて「cnt = 40」
「i」が「4」の時・・・「j」は「0~9」までカウントされて「cnt = 50」
になる。
#include <stdio.h>
int main(void)
{
int cnt;
for (int i = 0; i < 5; i++) {
cnt = 0;
for (int j = 0; j < 10; j++) {
cnt++;
}
}
printf("%d\n", cnt);
return 0;
}
変数「cnt」が二重ループの中にある場合、
「i」が「0~3」の間、インクリメントされるたびに「cnt」が「0」にリセットされる。
そして「i = 4」の最後のループの時、「cnt」は10回カウントされる。
「i = 0」の時、「j」の「0~9」まで「cnt」変数が10回カウントされるが、
「i = 1」の時、「cnt」変数は「0」にリセットされる。
「i = 1」の時、「j」の「0~9」まで「cnt」変数が10回カウントされるが、
「i = 2」の時、「cnt」変数は「0」にリセットされる。
「i = 2」の時、「j」の「0~9」まで「cnt」変数が10回カウントされるが、
「i = 3」の時、「cnt」変数は「0」にリセットされる。
「i = 4」の時、「i < 5」のため「i」は最後のループになるので、これ以上「cnt」変数はリセットされず、
「j」の「0~9」まで「cnt」変数が10回カウントされる。