C语言a+=b++==0表示什么意思

如题所述

首先,b++表示对b做自加运算,我们用c代替,c=b++;
然后,a+=b++ 等于 a+=c,即a=a+c,也就是说“==”之前部分是给a赋值的,我们用d代替,即d=a+c;
最后是一个逻辑判断d==0,也就是判断前面计算出来的a是否等于0.

这里要注意的一个地方是b++,不是++b,也就是说在当前这一次判断的时候b并不自加,而是在当前判断执行完之后才自加1.

比如初始a=1, b=2,b没有自加,a=a+b=1+2=3,那么这句话这次是在判断“3==0”,下次再判断的时候b才自加变成了2,a=a+b=3+2=5,相当于在判断“5==0”,依次类推即可。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-27
其实是a=a+b++==0的简写;从运算符的优先级可知:++最高,+次之,==再次之,而=最低,即先进行b++运算,在进行a+(b++)运算,其次进行a+(b++)==0运算,最总吧a+(b++)==0的结果赋给a。这个可以编程应正。
第2个回答  2013-03-27
符号的优先级是:
在这个算式中是++最高
++是2级,其次==是7级(先左后右),最后是+=是14级这里单指加了以后的赋值(先右后左)
然后关于==我做了个小验证,

#include <stdio.h>
int main(void)
{
int a,b;
a=2;b=3;
a=(b==0);
printf("%d,%d",a,b);
}
结果是a为0,b为3。说明在用==(等于)的时候不像=(赋值)完全改变了赋值对象的值只是单次的改变一次对象的值。
例如你的a=1,b=2
计算顺序是先b做自加1操作这时b才变为3,然后做b==0,如上的小验证,做了这个运算后不会改变b的值(这是b里面的值还是3)只是在参加运算的时候b单次变为0,,然后做a+=b(这里的b为0)故这时候a还为1。所以执行这个语句以后a=1,b=3。

以上只是自己个人的观点,不一定对但还是希望能帮到你。
参考资料:http://wenku.baidu.com/view/f57f4e10f18583d04964594f.html(字符优先级表)
第3个回答  2019-11-11
2b表示1234等很多数字。

C语言a+=b++==0表示什么意思?
首先,b++表示对b做自加运算,用c代替,c=b++;然后,a+=b++ 等于 a+=c,即a=a+c,也就是说“==”之前部分是给a赋值的,用d代替,即d=a+c;最后是一个逻辑判断d==0,也就是判断前面计算出来的a是否等于0.这里要注意的一个地方是b++,不是++b,也就是说在当前这一次判断的时候b...

a* b++是什么意思?
是a=a+b++==0的简写,从运算符的优先级可知:++最高、+次之、==再次之,而=最低,即先进行b++运算,在进行a+(b++)运算,其次进行a+(b++)==0运算,最终把a+(b++)==0的结果赋给a。

...b=1.8;a-=b;printf("a=%f,b=%f\\n",a,b);a+=b++==0;printf("a=%f,b...
a+=b++==0;上面这条就很蛋疼了——没事这样玩有意义么……首先是运算优先级最高的自加命令。b++表示这条语句用过b后b自加1.然后是优先级第二的==判断语句。这个时候b等于1.8,执行这条判断后,得出结论,b不等于0.这个时候就会返回值0(代表否的意思)然后就是优先级在这里面最低的a+=...

C语言中语句a+=b++是什么意思
先解释一下 += 和 ++ 是什么意思+= 的意思是 左值和右值相加结果赋值给左值如 a=1;b=2;a+=b;后,a=3;b=2。++ 的意思是变量自加1,如a=1;a++;a的值是2,在c中,++有前置和后置如 ++a;a++;,单独使用的时候是没有区别的,都是自加1,在有运算时就有区别了,前置的++是自加后...

c语言如何理解a+= b++;?
a+=b++;在C语言中,可以分成两部分来看,即 a+=b和b++;++为自加1操作,当++后置时,会先进行计算,计算后再执行++。a+=b等效于a=a+b;于是a+=b++;就等效于一下代码段。a=a+b;b=b+1;如果初始a=3,b=4;那么计算后的结果为 a=7,b=5....

c语言中a+= b什么意思?
答案:在C语言中,`A += B` 表示将 A 的值加上 B 的值,然后将结果赋值给 A。解释:`A += B` 是一个复合赋值运算符,它等同于 `A = A + B`。这种写法可以简化代码,使其更加简洁。复合赋值运算符还包括 `-=`, `*=`, `\/=`, `%=` 等。示例:```c include <stdio.h> int...

C语言a+=b;什么意思
++ 的意思是变量自加1,如a=1;a++;a的值是2,在c中,++有前置和后置如 ++a;a++;,单独使用的时候是没有区别的,都是自加1,在有运算时就有区别了,前置的++是自加后才参与运算,后置的++是参与运算后在自加1。如题的画,假定a=1,b=2,a+=b++的意思就是b=2先参与a+=b运算a=3...

c语言+=是什么意思?
在C语言中,+=是一个复合赋值运算符,它表示“取变量的值,加上右侧的值,并将结果赋值给左侧的变量”。具体来说,a += b的含义是“将a的值加上b的值,然后将结果赋值给a”。这等同于a = a + b。例如,如果a的初始值为5,b的值为3,那么执行a += b后,a的值将变为8。♡&#...

c语言里a+=b是什么意思?
a=a+1;b=a;的意思 至于A++=A+A+1 好像写错了吧 是A+=A+A+1 优先级等于 A=A+(A+A+1)\/\/A+=B 是 A=A+B 的简化 != 不等于,是条件运算符,用来判断真假的。比如1!=2; 表达式的值就是假,也就是0;C语言很多式子都是简化的,这样虽然可以节省代码,却比较让人糊涂。

c语言中,“+=”是什么意思?
+=是C语言中的一种复合赋值运算符,a+=b 等价于 a=a+b,是后者的一种简化性写法,并且,其优先级(即:同一个表达式中存在多种运算符时,不同运算符之间的运算顺序)与 =相同。类似的还有 +=,*=,\/= 。都具有相同形式的用法。

相似回答