2011-11-06 5 views
0

xcode에서 FOR 루프를 증가시킬 수는 있지만, 어떤 이유로 든 리버스, 즉 감소가 작동하지 않습니다.For 루프를 감소 시키시겠습니까?

이 증가하지 물론, 잘 작동 :

for (int i=0; i<10; ++i) { 
    NSLog(@"i =%d", i); 
} 

그러나,이 감소하는이 일이 발생하지 않습니다

for (int i=10; i<0; --i) { 
    NSLog(@"i =%d", i); 
} 

내가 구문이 잘못 있어야합니다,하지만 난이 올바른 생각 Objective C++ for xcode.

답변

12

-i<0에서 종료 조건은 당신이 > 대신 < 의미 생각 :

for (int i = 10; i > 0; --i) { 

것은 당신이를 제외하고는 원래의 코드와 동일하게 내가의 값을 원하는 경우 역순 (예 : 9, 8, 7, ..., 1, 0)이면 경계를 변경해야합니다.

for (int i = 9; i >= 0; --i) { 
1

i < 0입니다. 이것은 첫 번째 반복에서는 false이므로 루프가 실행되지 않습니다. 대신 i > 0으로 변경하십시오.

2

조건이 i> 0이어야합니다 (10에서 시작하면 1< 0은 거짓이므로 루프 코드를 실행하지 않습니다).

0

변경 i>0

+0

아, 이것은 다른 고대 프로그래밍 언어에서 사용 된 FOR 루프 논리와 매우 다릅니다. 나는 조건이 내가 10 세에서 1 세가 될 때까지 테스트를하고 있다고 생각했다. 이것은 직관적 인 것처럼 보이지만 작동한다. 대단히 감사합니다. –

2

난 단지 --i 먼저 확인하고 확인하고 i-- 점검 후 감소한다는 것을 명심하기 위해 추가하고 싶다.

관련 문제