C语言a =a-=a*=a什么意思

如题所述

!表示“非”,是一种逻辑运算。若a的真值为1,则!a为0;若a的真值为0,则!a为1。


拓展资料

逻辑运算是判断命题是否成立的运算,一共有三种,即逻辑非,逻辑与,逻辑或。逻辑表达式结果值为int型,命题成立值为1,否则为0。

值得注意的是,C语言中,在逻辑判断时,逻辑运算的操作数是0,被认为是假,操作数非0都认为是真,而不仅仅是1。三个逻辑运算符的真值表如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-13
从右往左计算,先算a*=a,意思是a=a*a,这样,a的值被改写,然后计算a-=a,把重新被改写的值代入,a=a-a,a值又被改写,在把改写后的值赋给a,结果为0
第2个回答  2013-10-13
a =a-=a*=a
从右往左计算

a*=a 就是 a = a * a, 此时 a为原来的平方

a-=(a*a),就是 a = a - a, 其中a为最初a的平方,但是不管它是多少, a - a都是0 ,此时 a = 0

a = a, 也就是 a = 0

最后 a = 0本回答被网友采纳
第3个回答  2013-10-13
1-------a=a*a;
2-------a=a-a;
3-------a=a;
第二步a=0; 所以a的值为零
第4个回答  2013-10-13
这种问题毫无意义。还有比如(a=i+++i;)这种问题。
与特定的编译器实现有关,一般是从后往前计算的。
a=a-=a*=a; -> a=(a-=(a*=a)); -> a=(a-=a); -> a=0;
相似回答