发布网友 发布时间:2022-04-21 15:33
共5个回答
热心网友 时间:2023-09-21 08:52
!表示“非”,是一种逻辑运算。若a的真值为1,则!a为0;若a的真值为0,则!a为1。
逻辑运算是判断命题是否成立的运算,一共有三种,即逻辑非,逻辑与,逻辑或。逻辑表达式结果值为int型,命题成立值为1,否则为0。
值得注意的是,C语言中,在逻辑判断时,逻辑运算的操作数是0,被认为是假,操作数非0都认为是真,而不仅仅是1。三个逻辑运算符的真值表如下:
热心网友 时间:2023-09-21 08:52
从右往左计算,先算a*=a,意思是a=a*a,这样,a的值被改写,然后计算a-=a,把重新被改写的值代入,a=a-a,a值又被改写,在把改写后的值赋给a,结果为0
热心网友 时间:2023-09-21 08:53
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
热心网友 时间:2023-09-21 08:54
1-------a=a*a;
2-------a=a-a;
3-------a=a;
第二步a=0; 所以a的值为零
热心网友 时间:2023-09-21 08:54
这种问题毫无意义。还有比如(a=i+++i;)这种问题。
与特定的编译器实现有关,一般是从后往前计算的。
a=a-=a*=a; -> a=(a-=(a*=a)); -> a=(a-=a); -> a=0;