안녕하세요 길벗수험서 운영팀입니다.
for(①; ②; ③)
④;
for문이 총 5회 수행된다고 가정할 때,
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
③에서 사용된 전치/후치 증감연산자는 for문의 수행에 있어 증감 연산 외의 다른 영향도 주지 못합니다. ++i 대신 i++이 들어가든 i+=1이 들어가든 i의 값이 그저 1 증가하는 동일한 결과를 나타내죠.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, for문과 같이 쉼표(,)로 구분되어 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다.
-
관리자2020-08-26 10:34:07
안녕하세요 길벗수험서 운영팀입니다.
for(①; ②; ③)
④;
for문이 총 5회 수행된다고 가정할 때,
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
③에서 사용된 전치/후치 증감연산자는 for문의 수행에 있어 증감 연산 외의 다른 영향도 주지 못합니다. ++i 대신 i++이 들어가든 i+=1이 들어가든 i의 값이 그저 1 증가하는 동일한 결과를 나타내죠.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, for문과 같이 쉼표(,)로 구분되어 개별로 사용될 때는 그저 1을 증가시키는 역할 외에 다른 역할을 수행하지 못합니다.
행복한 하루되세요 :) -
관리자2020-08-27 10:45:45
안녕하세요 길벗수험서 운영팀입니다.
예, 맞습니다.
예상문제 중 다음과 같은 for문이 있습니다.
for(i=1; i<10; i++, hap+=i)
위의 for문은 i=1, i<10, (i++, hap+=i) 로 3개의 식이 나눠지며, 증가식 부분의 (i++, hap+=i)는 다시 i++과 hap+=i로 2개의 식으로 나눠집니다. (총 4개)
이 경우 i++의 후치연산은 hap+=i에 영향을 주지 않기 때문에 i가 1증가하고, 다음 증가한 값이 hap에 저장되게 됩니다.
행복한 하루되세요 :)
-
*2020-08-26 15:32:16
쉼표로 구분되는 식은 예를 들어서 어떤 식을 말하는건가요??그럼 for 문에서는 ++i로 넣은 값이나 i++나 동일한 결과가 나오며 조건에 참인지 거짓인지 확인하고 대입 후 증가시키는게 맞는것이죠?