안녕하세요 길벗수험서 운영팀입니다.
for문에 대해 각 식에 대해 오해하고 계십니다.
for문 내부의 식1, 식2, 식3 또는 초기값, 최종값, 증가값, 아니면 초기값, 조건식, 증감식으로 불리는 3개의 식은 하나의 실행 코드가 아닌 3개의 코드가 for문이라는 함수 안에 묶여있는 것입니다.
C언어를 공부할 때 하나의 코드가 끝나는 곳에 ';' 또는 '}'를 적어야한다고 했듯이 for문 내에서도 각 식은 ';'을 통해 구분되어 있습니다.
이 때 ++i는 하나의 별개의 식입니다. 즉 전치가 오든 후치가 오든 결국 i=i+1을 수행하고 끝나는 것이죠.
for문의 각 식의 순서는 앞에서 학습하셨을 것입니다.
for(①; ②; ③) {
④;
}
위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 거짓) <탈출>
입니다.
위의 for문에서 증가식에 해당하는 ③은 아예 별개로 수행되게 됩니다.
만약 ++i나 i++이 아닌 'i = ++i + j' 같은 식이 온다면 얘기는 달라지겠지만요.
행복한 하루되세요 :)
-
관리자2019-03-07 09:51:29
안녕하세요 길벗수험서 운영팀입니다.
for문에 대해 각 식에 대해 오해하고 계십니다.
for문 내부의 식1, 식2, 식3 또는 초기값, 최종값, 증가값, 아니면 초기값, 조건식, 증감식으로 불리는 3개의 식은 하나의 실행 코드가 아닌 3개의 코드가 for문이라는 함수 안에 묶여있는 것입니다.
C언어를 공부할 때 하나의 코드가 끝나는 곳에 ';' 또는 '}'를 적어야한다고 했듯이 for문 내에서도 각 식은 ';'을 통해 구분되어 있습니다.
이 때 ++i는 하나의 별개의 식입니다. 즉 전치가 오든 후치가 오든 결국 i=i+1을 수행하고 끝나는 것이죠.
for문의 각 식의 순서는 앞에서 학습하셨을 것입니다.
for(①; ②; ③) {
④;
}
위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 거짓) <탈출>
입니다.
위의 for문에서 증가식에 해당하는 ③은 아예 별개로 수행되게 됩니다.
만약 ++i나 i++이 아닌 'i = ++i + j' 같은 식이 온다면 얘기는 달라지겠지만요.
행복한 하루되세요 :)