为什么我要把它作为代码的结果呢?
码
ids = 0;
for (NSString *s in golferThreeIconCounter) {
ids++;
NSLog(@"%i", ids);
}结果
2012-05-24 16:30:35.194 Dot Golf Scoring[673:f803] 4
2012-05-24 16:30:35.196 Dot Golf Scoring[673:f803] 8
2012-05-24 16:30:35.196 Dot Golf Scoring[673:f803] 12
2012-05-24 16:30:35.197 Dot Golf Scoring[673:f803] 16
2012-05-24 16:30:35.197 Dot Golf Scoring[673:f803] 20
2012-05-24 16:30:35.198 Dot Golf Scoring[673:f803] 24
2012-05-24 16:30:35.199 Dot Golf Scoring[673:f803] 28
2012-05-24 16:30:35.199 Dot Golf Scoring[673:f803] 32
2012-05-24 16:30:35.200 Dot Golf Scoring[673:f803] 36
2012-05-24 16:30:35.200 Dot Golf Scoring[673:f803] 40
2012-05-24 16:30:35.201 Dot Golf Scoring[673:f803] 44
2012-05-24 16:30:35.201 Dot Golf Scoring[673:f803] 48
2012-05-24 16:30:35.202 Dot Golf Scoring[673:f803] 52
2012-05-24 16:30:35.202 Dot Golf Scoring[673:f803] 56
2012-05-24 16:30:35.203 Dot Golf Scoring[673:f803] 60我完全不明白为什么身份证涨了4次而不是一次.
发布于 2012-05-24 20:37:49
声明int时,不添加*:它不是<id>类型。您所拥有的是指向int的指针;在32位平台上,它会增加4。
int ids = 0;发布于 2012-05-24 20:38:25
您正在打印数组中引用的指针的“位置”计数。
所以让我来澄清这一点。
指针是四个字节。在本例中,您有一个指针数组。因此,当您遍历时,您将打印指针索引的int值。
发布于 2012-05-24 20:37:51
您需要通过使用:*ids++来增加,因为您已经将它声明为引用。否则,您需要将其声明为原语变量:int ids = 0;
https://stackoverflow.com/questions/10744876
复制相似问题