减少For循环?

时间:2011-11-06 00:15:07

标签: xcode for-loop decrement

我可以在xcode中增加一个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 ++是正确的。

6 个答案:

答案 0 :(得分:14)

我认为您的意思是>而不是<

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

如果你希望i的值与原始代码中的相同,除了相反的顺序(即9,8,7,...,1,0),那么你还需要改变边界:

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

答案 1 :(得分:3)

我只想添加以记住--i首先递减,然后检查和i--检查,然后递减。

答案 2 :(得分:2)

你需要条件是i> 0(如果我从10开始,那么10&lt; 0是假的,所以它永远不会执行循环代码。)

答案 3 :(得分:1)

您正在查看i < 0。这在第一次迭代中是错误的,因此不执行循环。将其更改为i > 0

答案 4 :(得分:0)

将终止条件从i<0更改为i>0

答案 5 :(得分:0)

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

是在@Mark Byers答案中表达for循环的一种巧妙方法。