안녕하세요.
문제 14번 for문에 대한 질문인데요
첫번째 for문에 (int k = n; k >=0 ; k--) 라고 되어있는데요
1. 모든 for 문은 초기값을 먼저 집어넣고 증가값을 계산한다음 조건값을 비교하는 것 맞나요?
2. k--가 아니라 --k 로 바뀐다면 연산이 달라지나요?
2-1. 만약 달라진다면 어떻게 달라지나요?
예를들어 n값이 10이라면
교재에 있는 대로 k--라고 한다면 k가 10부터 시작해서
초기값 10으로 먼저 들어간다면 10인 값을 계산하는데
--k의 경우라면 9로 들어가게 되는지 궁금합니다.
안녕하세요 길벗수험서 운영팀입니다.
[1]
for문을 간략화 시키면 다음과 같습니다.
for(①; ②; ③)
④;
for문이 5회 반복한다고 가정할 때 다음과 같이 각 부분이 수행됩니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
모든 for문은 초기값을 먼저 적용하고, 조건을 체크한 후, 실행코드를 수행합니다.
다음 회차부터는 증가값을 적용하고, 조건을 체크한 후, 실행코드를 수행하게 되죠.
[2]
전혀 달라지지 않습니다.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, k--, --k와 같이 개별로 사용될 때는 그저 1을 감소시키는 역할 외에 다른 역할을 수행하지 못합니다.
(k=k-1; 과 동일)
행복한 하루되세요 :)
-
관리자2021-04-05 17:18:01
안녕하세요 길벗수험서 운영팀입니다.
[1]
for문을 간략화 시키면 다음과 같습니다.
for(①; ②; ③)
④;
for문이 5회 반복한다고 가정할 때 다음과 같이 각 부분이 수행됩니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
모든 for문은 초기값을 먼저 적용하고, 조건을 체크한 후, 실행코드를 수행합니다.
다음 회차부터는 증가값을 적용하고, 조건을 체크한 후, 실행코드를 수행하게 되죠.
[2]
전혀 달라지지 않습니다.
전치/후치 증감 연산자가 식에 영향을 주는 것은 '하나의 식' 안에서 뿐입니다. 즉, sum = sum + i++; 과 같이 세미콜론(;) 또는 쉼표(,)로 구분되는 각 식 내에서만 전/후가 의미가 있을 뿐, k--, --k와 같이 개별로 사용될 때는 그저 1을 감소시키는 역할 외에 다른 역할을 수행하지 못합니다.
(k=k-1; 과 동일)
행복한 하루되세요 :)