1번 질문)
int i =1; i<=a; ++1에서요. ++i와 i++의 for문에서 차이가 궁금합니다.
2번질문) 65페이지에 디버깅 부분에 i가 10까지 반복되기도 전에 6에서 모든 연산이 끝나던데 여기 부분도 이해가 안되네요!! 디버깅에서는 i가 홀수이든 짝수이든 둘다 증가하는 식으로 써있는데 원래 i의 값이 1부터 10까지 변화함에따라 홀수 1, 짝수 2, 홀수 4이런식으로 값이 변해야 되지 않나요?
1.i++은 i에다가 +1 안한 채로 그 행의 연산 수행, 그행 연산이 끝난 다음 i값에 +1
++i은 i에다가 +1 먼저 하고 그 행의 연산 수행
2. 책이 집에 있어서 좀이 따보고 다시 답변 달겠지만
그냥 알아서 이해 하라고 디버깅은 그렇게 써놨을 거 같은데..
-
*2018-04-06 18:59:46
1.i++은 i에다가 +1 안한 채로 그 행의 연산 수행, 그행 연산이 끝난 다음 i값에 +1
++i은 i에다가 +1 먼저 하고 그 행의 연산 수행
2. 책이 집에 있어서 좀이 따보고 다시 답변 달겠지만
그냥 알아서 이해 하라고 디버깅은 그렇게 써놨을 거 같은데..
-
*2018-04-09 09:41:51
안녕하세요.
1)
for의 증가값으로 적용된 ++i나 i++은 동일하게 1만 증가합니다.
2)
i는 반복문에 의해 1부터 11까지 증가합니다.
i 값이 증가하면서
1, 3, 5, 7, 9는 odd에 누적되어 0, 1, 4, 9, 16, 25로 변화되고
2, 4, 6, 8, 10은 even에 누적되어 0, 2, 6, 12, 20, 30으로 변화됩니다.
for 문에서 i가 1인 상태로 반복문을 수행합니다.
if (i%2 ==0 ) 즉 i가 1이므로 2로 나눈 나머지가 1입니다. 나머지가 0이 아니므로
else 부분에 있는 odd += i를 수행합니다. 그래서 odd가 1이 됩니다.
i가 증가되어 2가 된 상태로 반복문을 수행합니다.
if (i%2 ==0 ) 즉 i가 2이므로 2로 나눈 나머지가 0입니다.
조건을 만족하므로 even += i를 수행합니다. 그래서 even이 2가 됩니다.
이와 같은 원리로 odd와 even에 값들이 누적됩니다.
오늘도 즐거운 하루 되세요.