Joh*_*oan 7 c iphone math pointers objective-c
NSLog(@"Before: %d",currentArticle);
currentArticle--;
NSLog(@"SUBTRACT %d",currentArticle);
Run Code Online (Sandbox Code Playgroud)
"currentArticle"是一个整数.这只是在我的控制台中回显一次.如果我不运行此减法,则数字"currentArticle"保持为7.
这是在主线程中运行,每个用户交互只运行一次.
我也试过了
currentArticle = currentArticle - 1;
Run Code Online (Sandbox Code Playgroud)
结果相同.我服用疯狂的药吗?
谢谢!
编辑:
声明如下:
extern int *currentArticle;
Run Code Online (Sandbox Code Playgroud)
稍后分配为:
currentArticle = 0;
Run Code Online (Sandbox Code Playgroud)
我尝试重写为:
int *curArticle; // in my .h file
curArticle = 1;
Run Code Online (Sandbox Code Playgroud)
然后我跑了
curArticle--;
Run Code Online (Sandbox Code Playgroud)
它仍然减少两个......
我已经逐步完成了代码并确保没有其他调用这个变量.感谢您的反馈到目前为止,我会继续抨击它.
Cal*_*leb 17
我同意上面的评论.我打赌你的代码看起来像一美元:
int *currentArticle = 7; // or something
Run Code Online (Sandbox Code Playgroud)
currentArticle可能甚至不是指向int的指针,具体而言,它很可能是指向某个4字节类型的指针.' - '和'++'运算符在应用于指针时,会按指向的类型的大小递减或递增.