C语言已知a=5,b=6,c=7,d=8,m=2,n=2执行(m=a>b)&&(n=c>d)后n值为

答案好像是2求详细解答。。。... 答案好像是2求详细解答。。。 展开
 我来答
屠新曾芷文
2020-05-07 · TA获得超过3755个赞
知道大有可为答主
回答量:3114
采纳率:27%
帮助的人:213万
展开全部

答案是2没错。
首先,你得知道运算符优先级是 >优先于=
因此先执行a>b这条语句,这条语句运行结果是返回一个bool值,只有0和1两种情况
因为a=5,b=6所以语句a>b会返回0,并将结果赋值给m
因此在左边那个括号里面的最终结果是m=0,
而&&符号是“并且”的意思,往往放在if()中来判断,只有两边都非0,才会执行if()下面的语句,
当&&的左边为0,它就不执行&&右边的语句(因为这条语句“并且”的意思,当左边为0,就是为假,不论右边出现什么情况,整个语句必然是假,执行右边语句没意义,编译器跳过不执行)
综上,可得n的值没改变,为2
@楼上的

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式