【发布时间】:2014-05-25 18:40:13
【问题描述】:
我想知道是否有人可以解释一下,我设置了一个循环,我想从 10 倒数到 0:
for(NSUInteger index = 10; index >= 0; index--) {
NSLog(@"INDEX: %ld", (long)index);
}
这个循环永远运行,它不会在 0 处停止,而是不断地进入负数。当我注意到这一点时,我将代码更改为:
for(NSInteger index = 10; index >= 0; index--) {
NSLog(@"INDEX: %ld", (long)index);
}
上面的工作正常,但我很好奇,为什么第一个例子不起作用,因为生成的数字都是无符号整数?
【问题讨论】:
-
顺便说一句 - 将第一个 NSLog 更改为
NSLog(@"INDEX: %u", index);,您会更好地看到问题。
标签: objective-c nsinteger nsuinteger