我可以在 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++ 是正确的。
我认为您的意思>
是 <
:
for (int i = 10; i > 0; --i) {
如果您希望 i 的值与原始代码中的值相同,但顺序相反(即 9、8、7、...、1、0),那么您还需要更改边界:
for (int i = 9; i >= 0; --i) {
我只想补充一点,请记住--i
首先递减,然后检查和 i--
检查,然后递减。
您需要条件为 i>0(如果 i 从 10 开始,则 10<0 为假,因此它永远不会执行循环代码)。
你正在检查i < 0
。这在第一次迭代中是错误的,因此不会执行循环。改为i > 0
改为。
for (int i = 10; --i >= 0;) {
是在@Mark Byers 答案中表达 for 循环的一种巧妙方法。
将终止条件从 更改i<0
为i>0