C语言已知a=5,b=6,c=7,d=8,m=2,n=2执行(m=a>b)&&(n=c>d)后n值为 答案好像是2求详细解答。。。... 答案好像是2求详细解答。。。 展开 我来答 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 c语言 搜索资料 2个回答 #热议# 普通体检能查出癌症吗? 旅春冬TJ 2013-12-20 · TA获得超过1082个赞 知道大有可为答主 回答量:1271 采纳率:66% 帮助的人:494万 我也去答题访问个人页 关注 展开全部 答案不可能是2,答案应该是0,这是一个逻辑表达式不可能出现0,1之外的数字。前边>的优先级高于赋值也就是先判断a>b是假,也就是0,把这个零赋值给m,此时m=0,因为逻辑符号&&有短路效应,也就是说前边只有出现假,就不会接着判断后边的一部分,所以整体表达式是假,也就是0 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 感情程序员 推荐于2018-03-01 · TA获得超过1615个赞 知道小有建树答主 回答量:101 采纳率:0% 帮助的人:82.7万 我也去答题访问个人页 关注 展开全部 答案是2没错。首先,你得知道运算符优先级是 >优先于=因此先执行a>b这条语句,这条语句运行结果是返回一个bool值,只有0和1两种情况因为a=5,b=6所以语句a>b会返回0,并将结果赋值给m因此在左边那个括号里面的最终结果是m=0,而&&符号是“并且”的意思,往往放在if()中来判断,只有两边都非0,才会执行if()下面的语句,当&&的左边为0,它就不执行&&右边的语句(因为这条语句“并且”的意思,当左边为0,就是为假,不论右边出现什么情况,整个语句必然是假,执行右边语句没意义,编译器跳过不执行)综上,可得n的值没改变,为2@楼上的 本回答被提问者和网友采纳 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 收起 1条折叠回答 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 广告您可能关注的内容c++ \标准版-资料文档库-全文阅读下载c++ \专题资料下载,不用四处查资料,360文库海量精选c++ \全行业资料覆盖,千万文档即刻下载,享专属优惠!wenku.so.com广告 其他类似问题 2021-12-31 C语言:设abcd均为0执行(m=a==b)&&(n=c!=d)后 m n的值为 8 2021-10-15 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a<b)&& (n=c>d)后,m, 7 2022-12-21 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c> 2020-04-29 设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>d),后n的值? 24 2020-07-21 C语言 若 int a=4,b=5,c=6,d=7,m=1,n=1,e; 则执行语句 e=(m=a>b)&&(n=c>d) ----问m、n的值分别为? 4 2020-01-25 设有int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>b)之 18 2023-04-23 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行 (m=a>b)&&(n=c>d)后,n的值是D.4 2023-04-23 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) &&(n=c>d) 后,n的值是D.4 更多类似问题 > 为你推荐: