1. for(int i = 0 ; i<10 ; ++i){
hap += i;
}
2. for(int i = 0 ; i<10 ; i++){
hap += i;
}
3. for(int i = 0 ; i<10 ; ++i , hap += i);
4. for(int i = 0 ; i<10 ; i++ , hap += i);
교재안에서 위와같이 for문을 표현하는 방식이 4가지 있던데
1번과 2번은 우선적으로 0을 대입하여
초기값 - i = 0, hap = 0
1회차 - i = 1, hap = 1
......
9회차 - i = 9, hap = 0+1+....+8+9
10회차 - i = 10, end
동일하게 계산하는 방식으로 i++이든 ++i이든, i<10에 대해 1번과 2번은 i값과 hap값이 동일하고
또한 i<10과 i값과 결과값은 다르겠지만 i<=10에 대하여도 1번과 2번의 i값과 hap값이 동일한것 맞나요?
3번과 4번또한 우선적으로 0을 대입한후 바로 ++i 혹은 i++를 계산하후 hap값을 계산하고 i<10과 비교하므로
초기값 - i = 0, hap = 0
1회차 - i = 1, hap = 1
......
9회차 - i = 10, hap = 1+2+....+10
11회차 - end
3번과 4번 또한 어떠한 경우에도 마지막 i값과 hap값은 동일한것 맞나요?
결론적으로 1번=2번 , 3번=4번은 동일하다라고 생각하면 될런지요.
안녕하세요.
증감연산자가 단독으로 사용된 경우 단순히 1을 증가하는 용도로 사용됩니다.
증감연산자가
hap += ++i 와 같이 적용되면 이는
hap = hap + ++i와 같은 것으로
현재 i에 1을 증가한 값을 hap에 더하게 됩니다.
또한
hap += i++ 와 같이 적용되면 이는
hap = hap + i++와 같은 것으로
현재 i를 hap에 더한 후 i의 값을 1 증가하게 됩니다.
질문주신 1과 2는
i가 증가되어 10이 된 후 종료 기준값과 비교하여 조건을 만족하지 않으므로 반복문을 빠져나옵니다.
hap에 i는 9까지 적용되어 결과가 45로 산출됩니다.
질문주신 3과 4는
i가 증가되어 10이 된 후 종료 기준값과 비교하기 전
hap += i를 적용한 후 비교하므로
hap에 i는 10까지 적용되어 결과가 55로 산출됩니다.
오늘도 즐거운 하루 되세요.
-
*2018-07-16 09:32:48
안녕하세요.
증감연산자가 단독으로 사용된 경우 단순히 1을 증가하는 용도로 사용됩니다.
증감연산자가
hap += ++i 와 같이 적용되면 이는
hap = hap + ++i와 같은 것으로
현재 i에 1을 증가한 값을 hap에 더하게 됩니다.
또한
hap += i++ 와 같이 적용되면 이는
hap = hap + i++와 같은 것으로
현재 i를 hap에 더한 후 i의 값을 1 증가하게 됩니다.
질문주신 1과 2는
i가 증가되어 10이 된 후 종료 기준값과 비교하여 조건을 만족하지 않으므로 반복문을 빠져나옵니다.
hap에 i는 9까지 적용되어 결과가 45로 산출됩니다.
질문주신 3과 4는
i가 증가되어 10이 된 후 종료 기준값과 비교하기 전
hap += i를 적용한 후 비교하므로
hap에 i는 10까지 적용되어 결과가 55로 산출됩니다.
오늘도 즐거운 하루 되세요.