예제에서 for(a=0;a++<5;) 이렇게 식이 써져있는 4번째 구문에 대해 질문드릴게 있는데요.
a++<5이려면 a값은 4까지밖에 더할 수 없는거 아닌가요?
옆에 설명에서도 a가 0부터 5보다 작은동안 1번(hap+=a)를 반복하여 수행한다는데 이러면 0~4까지 더해지는게 아닌가 싶어서 질문드려요
이 구문은 왜 1~5까지 더한다고 볼 수 있는건가요?
안녕하세요 길벗수험서 운영팀입니다.
for문이 다음과 같을 때,
for(①; ②; ③)
④;
수행 순서는 ① - (② - ④ - ③) x 반복 입니다. (①은 처음에만 수행됩니다.)
그럼 해당 코드에서 ②가 수행 될 때
1회 a(0)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 1이 됩니다. hap에는 1이 더해지죠. (hap = 1)
2회 a(1)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 2가 됩니다. hap에는 2가 더해지죠. (hap = 3)
3회 a(2)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 3이 됩니다. hap에는 3이 더해지죠. (hap = 6)
4회 a(3)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 4가 됩니다. hap에는 4가 더해지죠. (hap = 10)
5회 a(4)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 5가 됩니다. hap에는 5가 더해지죠. (hap = 15)
6회 a(5)<5 조건을 체크합니다. 거짓이죠. 다음 ④로 넘어가지 못하고 for문을 빠져나갑니다.
(a는 후치증가연산으로 6이 됩니다. hap에는 더해지지 않지만요.)
행복한 하루되세요 :)
-
관리자2020-09-16 10:51:20
안녕하세요 길벗수험서 운영팀입니다.
for문이 다음과 같을 때,
for(①; ②; ③)
④;
수행 순서는 ① - (② - ④ - ③) x 반복 입니다. (①은 처음에만 수행됩니다.)
그럼 해당 코드에서 ②가 수행 될 때
1회 a(0)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 1이 됩니다. hap에는 1이 더해지죠. (hap = 1)
2회 a(1)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 2가 됩니다. hap에는 2가 더해지죠. (hap = 3)
3회 a(2)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 3이 됩니다. hap에는 3이 더해지죠. (hap = 6)
4회 a(3)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 4가 됩니다. hap에는 4가 더해지죠. (hap = 10)
5회 a(4)<5 조건을 체크합니다. 참이죠. 다음 ④로 넘어갈 때 a는 후치증가연산으로 5가 됩니다. hap에는 5가 더해지죠. (hap = 15)
6회 a(5)<5 조건을 체크합니다. 거짓이죠. 다음 ④로 넘어가지 못하고 for문을 빠져나갑니다.
(a는 후치증가연산으로 6이 됩니다. hap에는 더해지지 않지만요.)
행복한 하루되세요 :)