目标C:7 – 1 = 3?

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字节类型的指针。 ‘ – ‘和’++’运算符在应用于指针时,会按指向的类型的大小递减或递增。

我想到的事情:线程(如果这是一个奇怪的问题,有线程)? 或者它是由一个事件调用的(它被触发不止一次)?