1) int a, hap=0;
for(a=0; a<10; ++a, hap+=a)
2) int i, hap=0;
for(i=1; i<=10; ++i;, hap+=i)
풀이과정 한번 봐주세요. 저의 생각이랑 답지랑 너무 다르네요!
안녕하세요.
int a, hap=0;
for(a=0; a<10; ++a, hap+=a);
for(a=0; a<10; ++a, hap+=a);
----- ------- -----------------
초기값 종료값 증가값
a는 초기값 0을 가지고 반복문을 진입합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값은 콤마(,) 연산자를 2개의 식이 나열되었으므로 순차적으로 2개의 식을 수행합니다.
먼저 ++a에 의해 a는 1이 되고, 이어서 hap += a에 의해 hap은 1이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 2가 되고, 이어서 hap += a에 의해 hap은 3이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 3이 되고, 이어서 hap += a에 의해 hap은 6이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 4가 되고, 이어서 hap += a에 의해 hap은 10이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 5가 되고, 이어서 hap += a에 의해 hap은 15가 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 6이 되고, 이어서 hap += a에 의해 hap은 21이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 7이 되고, 이어서 hap += a에 의해 hap은 28이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 8이 되고, 이어서 hap += a에 의해 hap은 36이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 9가 되고, 이어서 hap += a에 의해 hap은 45가 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 10이 되고, 이어서 hap += a에 의해 hap은 55가 됩니다.
종료값을 비교합니다. a가 10과 같으므로, 즉 작지 않으므로 이제 반복문을 빠져나옵니다.
2번째 질문 내용도 위의 내용과 같이 증가값과 종료값의 관계를 살피면서 수행해 보세요.
오늘도 즐거운 하루 되세요.
-
*2017-09-07 09:29:58
안녕하세요.
int a, hap=0;
for(a=0; a<10; ++a, hap+=a);
for(a=0; a<10; ++a, hap+=a);
----- ------- -----------------
초기값 종료값 증가값
a는 초기값 0을 가지고 반복문을 진입합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값은 콤마(,) 연산자를 2개의 식이 나열되었으므로 순차적으로 2개의 식을 수행합니다.
먼저 ++a에 의해 a는 1이 되고, 이어서 hap += a에 의해 hap은 1이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 2가 되고, 이어서 hap += a에 의해 hap은 3이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 3이 되고, 이어서 hap += a에 의해 hap은 6이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 4가 되고, 이어서 hap += a에 의해 hap은 10이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 5가 되고, 이어서 hap += a에 의해 hap은 15가 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 6이 되고, 이어서 hap += a에 의해 hap은 21이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 7이 되고, 이어서 hap += a에 의해 hap은 28이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 8이 되고, 이어서 hap += a에 의해 hap은 36이 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 9가 되고, 이어서 hap += a에 의해 hap은 45가 됩니다.
종료값을 비교합니다. a가 아직 10보다 작으므로 반복문을 반복합니다.
처리할 문장이 없으므로 증가값을 적용합니다.
증가값 ++a에 의해 a는 10이 되고, 이어서 hap += a에 의해 hap은 55가 됩니다.
종료값을 비교합니다. a가 10과 같으므로, 즉 작지 않으므로 이제 반복문을 빠져나옵니다.
2번째 질문 내용도 위의 내용과 같이 증가값과 종료값의 관계를 살피면서 수행해 보세요.
오늘도 즐거운 하루 되세요.