6

我可以在 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++ 是正确的。

4

6 回答 6

21

我认为您的意思><

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

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

for (int i = 9; i >= 0; --i) {
于 2011-11-06T00:17:41.747 回答
5

我只想补充一点,请记住--i首先递减,然后检查和 i--检查,然后递减。

于 2011-11-06T01:34:30.943 回答
2

您需要条件为 i>0(如果 i 从 10 开始,则 10<0 为假,因此它永远不会执行循环代码)。

于 2011-11-06T00:17:33.700 回答
1

你正在检查i < 0。这在第一次迭代中是错误的,因此不会执行循环。改为i > 0改为。

于 2011-11-06T00:17:07.350 回答
1

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

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

于 2020-12-14T12:11:20.417 回答
0

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

于 2011-11-06T00:17:35.303 回答