已知变量a,b,c的值分别为1、2、3,求表达式a=b=c,a=b==c,a== (b=c)和a==(b==c)的值

 我来答
qicaiwuya
2011-09-16 · TA获得超过4212个赞
知道小有建树答主
回答量:1462
采纳率:100%
帮助的人:1217万
展开全部
这里要考虑结合性和优先级的问题,
四个表达式:
①a=b=c ;析:赋值号“=”的结合性从右向左,因此先执行b=c,得到b=3,然后进行a=b,得到a=3,最后该表达式的值就是a的值3。
②a=b==c ;析:赋值号优先级低于关系运算符“==”因此先进行b==c的运算,c语言规定,一个关系表达式0表示假,非0表示真,但通常不用其他数字而用1表示真,因此b==c的值就是0,因此a=b==c结果就是a=0;
③a==(b=c); 析:括号的优先级最大,先进行 b=c的运算,结果为b=3,然后进行a==b的运算,a=1,b=3,显然不想等,表达式的值为0.
④a==(b==c); 析:同上,b==c结果为假,也就是0,a==(b==c)也就是a==0结果为假,因此最后结果为假,也就是0!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式