在c语言中,a=(m=a>b)&&(n=c<d);是什么意思

程序段:inta=2,b=3,c=4,d=5;intm=2,n=2;a=(m=a>b)&&(n=c<d);printf("%d,%d",m,n);... 程序段:
int a=2,b=3,c=4,d=5;
int m=2,n=2;
a=(m=a>b)&&(n=c<d);
printf("%d,%d",m,n);
展开
 我来答
百度网友6f87babd4
推荐于2017-10-09 · TA获得超过1395个赞
知道小有建树答主
回答量:948
采纳率:50%
帮助的人:368万
展开全部
如果a>b,那么m=1,否则m=0;
如果c<d,那么n=1,否则n=0;
求出m,n后,再求m&&n,
如果m,n都等于1,则a=1,否则a=0.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仪东泽
推荐于2018-03-14
知道答主
回答量:12
采纳率:100%
帮助的人:7808
引用天云一号的回答:
a=(m=a>b)&&(n=c>d)表示将条件(m=a>b)与条件(n=c>d)进行逻辑与运算后,将结果赋值给变量a。

具体执行过程可以通过如下实例来说明:
int a=1, b=2, c=4, d=3;int m, n;a=(m=a>b)&&(n=c>d); // 先计算(m=a>b),由于a>b为假,所以m=0;// 再计算(n=c>d),由于c>d为真,所以n=1;// 最后计算逻辑与,此时将m=0与n=1进行与运算,结果为0,之后将最终结果0赋值给变量a,所以经过a=(m=a>b)&&(n=c>d);运算后a=0
展开全部
m=(a>b)为0这时候这个已经false了,后面就不用运算了,n还是2,m为0
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大乖1119
2011-06-27 · TA获得超过6943个赞
知道大有可为答主
回答量:2180
采纳率:0%
帮助的人:2497万
展开全部
m= n==b n与b是否相等的判断结果赋值给m
(n=c= =d) c与d是否相等的判断结果赋值给n
最后m与n 或||一下... 得到最后的逻辑值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晨妈8882004
2012-08-03
知道答主
回答量:1
采纳率:0%
帮助的人:1592
展开全部
我认为m=0 n=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式