NSLog(@"Before: %d",currentArticle);
currentArticle--;
NSLog(@"SUBTRACT %d",currentArticle);

“currentArticle”是整数。这在我的控制台中仅被回显一次。如果我不进行此减法运算,则数字“currentArticle”仍为7。

它在主线程中运行,并且每次用户交互仅运行一次。

我也尝试过
currentArticle = currentArticle - 1;

结果相同。我在服用疯药吗?

谢谢!

编辑:

声明如下:
extern int *currentArticle;

并分配为:
currentArticle = 0;

我试图这样重写:
int *curArticle; // in my .h file

curArticle = 1;

然后我运行
curArticle--;

而且仍然减少了两个...

我已逐步完成代码,并确保没有其他调用触及此变量。.到目前为止,感谢您的反馈,我将继续努力。

最佳答案

我同意以上评论。我敢打赌,您的代码看起来像这样:

int *currentArticle = 7; // or something

具体来说,currentArticle甚至可能不是指向int的指针,但很可能是指向某个4字节类型的指针。当将'-'和'++'运算符应用于指针时,它会根据所指向的类型的大小减小或递增。

关于iphone - objective-c : How does 7 - 1 = 3?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5267187/

10-09 07:55