在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); 展开
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); 展开
9个回答
展开全部
如果a>b,那么m=1,否则m=0;
如果c<d,那么n=1,否则n=0;
求出m,n后,再求m&&n,
如果m,n都等于1,则a=1,否则a=0.
如果c<d,那么n=1,否则n=0;
求出m,n后,再求m&&n,
如果m,n都等于1,则a=1,否则a=0.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用天云一号的回答:
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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m= n==b n与b是否相等的判断结果赋值给m
(n=c= =d) c与d是否相等的判断结果赋值给n
最后m与n 或||一下... 得到最后的逻辑值
(n=c= =d) c与d是否相等的判断结果赋值给n
最后m与n 或||一下... 得到最后的逻辑值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询