for(i=1;i<=10;++i,hap+=i);
초기값 i=1은 어째서 hap에 누적이 안되는건지 모르겠습니다.
안녕하세요.
for(i = 1; i <= 10; ++i, hap += i);
를 수행한 경우
i hap
1, 0
2, 2
3, 5
4, 9
5, 14
6, 20
7, 27
8, 35
9, 44
10, 54
for문에서는 먼저 초기값을 가지고 종료 기준값과 비교한 후 조건이 맞으면 반복문을 바로 수행한 후 증가값을 적용합니다.
for문에서
i는 1인 상태로 i<=10 조건에 만족하므로 for문을 바로 수행합니다. 수행할 for문 안쪽 내용이 없으므로 for문의 회전수만 증가합니다.
그래서 i가 1인 상태로 for문이 한 번 회전했을 때 i는 1, hap은 0입니다.
이제 for문이 한 번 회전한 후 증가값(++i, hap += i)을 수행하여, i는 2가되고 hap도 2가 됩니다.
종료 기준값(i<=10)을 만족하므로 for문을 수행하여 for문의 회전수를 증가합니다.
그래서 i가 2인 상태로 for문이 두 번 회전했을 때 i는 2, hap은 2입니다.
위의 내용을 기준으로 for문의 반복 과정을 이해한 후 다시 한 번 디버깅을 수행해 보세요.
오늘도 즐거운 하루 되세요.
-
*2018-07-04 13:27:32
안녕하세요.
for(i = 1; i <= 10; ++i, hap += i);
를 수행한 경우
i hap
1, 0
2, 2
3, 5
4, 9
5, 14
6, 20
7, 27
8, 35
9, 44
10, 54for문에서는 먼저 초기값을 가지고 종료 기준값과 비교한 후 조건이 맞으면 반복문을 바로 수행한 후 증가값을 적용합니다.
for문에서
i는 1인 상태로 i<=10 조건에 만족하므로 for문을 바로 수행합니다. 수행할 for문 안쪽 내용이 없으므로 for문의 회전수만 증가합니다.
그래서 i가 1인 상태로 for문이 한 번 회전했을 때 i는 1, hap은 0입니다.
이제 for문이 한 번 회전한 후 증가값(++i, hap += i)을 수행하여, i는 2가되고 hap도 2가 됩니다.
종료 기준값(i<=10)을 만족하므로 for문을 수행하여 for문의 회전수를 증가합니다.
그래서 i가 2인 상태로 for문이 두 번 회전했을 때 i는 2, hap은 2입니다.
위의 내용을 기준으로 for문의 반복 과정을 이해한 후 다시 한 번 디버깅을 수행해 보세요.
오늘도 즐거운 하루 되세요.