while문에서
#include
main()
{
int i=0,hap=0;
while(i<10)
{
++i;
hap += i;
}
printf("%d %d \n",i,hap);
}
이것때문에 여쭤보려구 합니다.
결과가 10,55 이고 코딩 돌려본 결과도 10,55 를 확인하였는데요.
i가 10일떄 while 조건이 성립하지않기때문에
i는 10인것을 확인했는데 그럼 hap도 10을 더하지않은 45가 되야하지 않나요?
안녕하세요.
i가 0일 때
i<10 조건을 만족하므로 while 문을 진입합니다.
++i에 의해 i는 1이 되고
hap += i 에 의해 hap은 1이 됩니다.
i가 1인 상태로 다시 while문 조건을 확인합니다.
i<10 조건을 만족하므로 while 문을 진입합니다.
++i에 의해 i는 2가 되고
hap += i 에 의해 hap은 3이 됩니다.
i가 2인 상태로 다시 while문 조건을 확인합니다.
i<10 조건을 만족하므로 while 문을 진입합니다.
++i에 의해 i는 3이 되고
hap += i 에 의해 hap은 6이 됩니다.
즉 i가 2일 때 반복문 안에서 hap에 누적되는 i는 1이 증가한 3입니다.
i가 9일 때 반복문 안에서 hap에 누적되는 i는 1이 증가한 10이므로
hap에는 최종적으로 55가 저장됩니다.
오늘도 즐거운 하루 되세요.
-
*2018-03-07 09:15:37
안녕하세요.
i가 0일 때
i<10 조건을 만족하므로 while 문을 진입합니다.
++i에 의해 i는 1이 되고
hap += i 에 의해 hap은 1이 됩니다.
i가 1인 상태로 다시 while문 조건을 확인합니다.
i<10 조건을 만족하므로 while 문을 진입합니다.
++i에 의해 i는 2가 되고
hap += i 에 의해 hap은 3이 됩니다.
i가 2인 상태로 다시 while문 조건을 확인합니다.
i<10 조건을 만족하므로 while 문을 진입합니다.
++i에 의해 i는 3이 되고
hap += i 에 의해 hap은 6이 됩니다.
즉 i가 2일 때 반복문 안에서 hap에 누적되는 i는 1이 증가한 3입니다.
i가 9일 때 반복문 안에서 hap에 누적되는 i는 1이 증가한 10이므로
hap에는 최종적으로 55가 저장됩니다.
오늘도 즐거운 하루 되세요.