2011-11-06 172 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); 
} 

我必須有語法錯誤,但我相信這是正確的用於xcode中的Objective C++。

回答

12

我想你的意思>而不是<

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

如果你想我的價值觀是相同的原代碼除倒序(即9,8,7,...,1,0),那麼你也需要改變邊界:

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

您正在檢查i < 0。這在第一次迭代中是錯誤的,因此循環不會執行。改爲改爲i > 0

2

你需要的條件是i> 0(如果我從10開始,那麼10 < 0是錯誤的,所以它從不執行循環代碼)。

0

變化從i<0終止條件i>0

+0

哦,這與我在其他古代編程語言中習慣的FOR循環邏輯完全不同。我認爲條件是測試從10倒數到我達到1.這似乎違反直覺,但它的工作原理。太感謝了。 –

2

我只是想補充一點,先記住--i遞減,然後檢查和i--檢查,然後遞減。