2011-04-14 9 views
0

이것은 나를 깜짝 놀라게합니다. 다음 테스트는 실패합니다. 루프는 8이 아니라 9라는 값으로 끝납니다. 설명 할 수 있습니까?while 루프 종료 조건

+2

... –

답변

7

는이 작업을 수행해야합니다

++i < LIMIT 

당신이 조건이 평가 그것을 가지고 방법 및 다음 i가 증가합니다. 위의 작업을 수행 할 경우 평가 전에 증분됩니다.

+0

D' oh! 고맙습니다. 시스템에서 허용하는대로 귀하의 답변을 수락하겠습니다. –

4

이유는 마지막 평가 후에 마지막으로 변수 하나를 증가시키는 이유입니다.

+0

+1 : 그는 ++ i' 대신'을 찾고 할 수있다. –

0

i가 8 일 때 루프를 통과하는 동안 ++는 9로 증가하지만 사후 증가 연산자이므로 LIMIT와 비교하여 원래 8 일 때 실패하고 루프를 종료합니다.

0

i ++는이 표현식에 대한 사용 후에 i를 증가시키는 것을 의미합니다. 예상 결과를 얻으려면 ++ i를 시도하십시오.

/빅터 내가 개인적으로 연산자 우선 순위가 혼동 할 수있는 코드를 피할 것이다