mydy.net
当前位置:首页 >> 若有定义int A=3,B=4;则表达式'A'<A| |A=B的值为 >>

若有定义int A=3,B=4;则表达式'A'<A| |A=B的值为

a=b不能作为逻辑表达式.要判断是否相等,必须要用'a'<a||a==b 若这样的话,表达式'a'<a||a==b的值为0.如果要使用赋值表达式的值作为条件,则应该改为:'a'<a||(a=b) 这个表达式的值为1.因为'a'=97,故左侧'a'<a为假;而(a=b)的值为4,为真.所以整个表达式的值为真,即为1.

语法错误因为运算符||的优先级大于运算符=的优先级,所以程序先计算'a'接着计算0||a即0||3返回1,最后计算1=b,1是常量不能执行赋值语句,故报错.可以改成:('a'<a)||(a=b)

则表达式的值为a,即3 否则a&gt?a;b:b 表示如果a大于b,表达式的值为b

你好!表达式的值是最右边的式子的值,所以是a--,是先取a的值,所以是3打字不易,采纳哦!

'a'<a || a=b这是一个逻辑表达试 先比较'a'<a 'a'=97(参见ascii代码表) a=61 那么'a'<a就是假 a=b b=4 a=b的值就是4 也就是非0带表真 根据逻辑或运算规则 0||1值是1 所以表达式'a'<a || a=b 的值为1

9 4 10

这个问题主要考你的表达是运算顺序.#include <stdio.h> void main() { int a=3; a+=a -=a*a; //首先计算a*a==9; //再计算a-=9; 结果是a==-6 //最后a+=-6; 结果是a==-12 printf("a=%d\n",a); }

b+=(a+=3)右结合先有a=6,然后有b=9

1其实什么都不用看,!(a<b)&&!c||1最后是||1那么就是指,前面一堆的结果或上1,而计算机中非0及为真.所以就是一堆运算结果或上一个true,所以答案就是true.所以为1.!(a<b) 为 false 等于0!c 因为c等3所以c是true所以非c就是false 等于0 false && false || true最后变成false || true所以是true

b的值为4因为&&是逻辑与运算,一假必假.前面x=a-3=3-3=0了,所以x的值直接为0.不用计算后面的了.因为你给的x=a-3&&b++;是逻辑表达式.逻辑表达式就是指由逻辑运算符组成的表达式.这种表达式求值具有特殊性.在逻辑表达式的求值过程中,按其操作数从左边到右边的计算顺序,当某个操作数的值可以确定整个表达式的值时,其余的操作数不再计算.操作数1 && 操作数2 && 操作数3,当计算的操作数1的值为0后,可以确定整个逻辑表达式的值为0.这时候,操作数2和操作数3的值就不再计算了.卢韬旭

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.mydy.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com