这个执行顺序为a
=
(
p
!=
(
&m));
你这样问大家也许不懂,我详细说明下:
先对变量m取地址,再判断指针p的地址是不是与变量m的地址&m相同,根据结果赋值给变量a,假如不同的话,a就为假,相同的话a为真。这个与c语言中的运算符的优先级有关,具体的话得去了解。
对于这个问题,你首先要明白++a和a++
的区别:
单独使用时都起到a=a+1的作用,但是当赋值给变量时就有:
m=a++;表示:m=a;
a=a+1;
m=++a;表示:a=a+1;
m=a;
他们两个分别表示先赋值然后+1
和
先+1然后赋值。你可以自己动手编一个简单的测试程序,代码如下:
#include
main()
{
int
m=0,a=0;
for(int
i=0;i
{
m=++a;
printf("当m=++a时:m=%d\n",m);
}
return
0;
}
显示结果:
当m=++a时:m=1
当m=++a时:m=2
当m=++a时:m=3
当m=++a时:m=4
当m=++a时:m=5
看明白了吧!!!!
先用a+1来更新a
然后把a赋值给m
标签:++,语言
版权声明:文章由 知之问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhzhwenwen.com/life/216735.html