for ( j = 4; j >= 0; —j)
for ( i = 4; i > j; —i)
이 부분이 잘 이해가 안되서요..!
첫번째 for문에서 감소연산자 j 가 감소되지 않고
밑에 for문으로 넘어가는지 궁금합니다..!
감소연산자가 전치에 있을때 감소가 먼저 되는거로 알고 있는데
감소되지않고 다음 for문으로 가더라구요
세미클론이 없어서 그런건가요??
비전공자라서 저세하게 부탁드리겠습니다..! ㅠㅜ
안녕하세요 길벗수험서 운영팀입니다.
for문의 형식을 아래와 같이 단순화 시키고,
for(①; ②; ③)
④;
5회 수행한다고 가정했을 때 수행되는 각 식의 순서는 다음과 같습니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
1회 수행 시 ③이 수행되지 않으므로 j가 감소하지 않는 것이죠.
여기에서 전치감소 연산자 --는 j=j-1과 다를바가 없습니다. j--가 들어가도 결과는 같죠.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, for문과 같이 각 식이 세미콜론(;)으로 구분되어 개별로 사용될 때는 그저 1을 증/감시키는 역할 외에 다른 역할을 수행하지 못합니다.
행복한 하루되세요 :)
-
관리자2023-09-20 16:19:35
안녕하세요 길벗수험서 운영팀입니다.
for문의 형식을 아래와 같이 단순화 시키고,
for(①; ②; ③)
④;
5회 수행한다고 가정했을 때 수행되는 각 식의 순서는 다음과 같습니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
1회 수행 시 ③이 수행되지 않으므로 j가 감소하지 않는 것이죠.
여기에서 전치감소 연산자 --는 j=j-1과 다를바가 없습니다. j--가 들어가도 결과는 같죠.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, for문과 같이 각 식이 세미콜론(;)으로 구분되어 개별로 사용될 때는 그저 1을 증/감시키는 역할 외에 다른 역할을 수행하지 못합니다.
행복한 하루되세요 :)