一个C语言题目

a,b,c,d,m,n均为整形变量,且a=5,b=7,c=3,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为————答案为2,我算的... a,b,c,d,m,n均为整形变量,且a=5,b=7,c=3,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为————答案为2,我算的为0.不知道自己错在哪。 展开
 我来答
百度网友1987f58a7
2010-05-28 · TA获得超过273个赞
知道答主
回答量:23
采纳率:0%
帮助的人:25.7万
展开全部
答案的确是2哦。。。且听我下面的解释:
a>b为假,假是0,所以m=0,(m=0)=0,即(m=a>b)为假。而&&是“且”的符号,只要前面一个为假,则(m=a>b)&&(n=c>d)即为假,所以(n=c>d)并没有参与运算,因此n等于原值2不变。。。希望你能够看得懂。
另外再给你说下||符号。||表示“或”符号,它的原则是其中任意一个为真即为真,两个为假才为假。所以只要||前面的那个运算为真了,则后面的不需要运算了,举个例子(m=a<b)||(n=c>d),经过这个运算之后,n还是等于2的。而经过(m=a>b)||(n=c>d)运算,n=0
xiebo_upc
2010-05-28 · TA获得超过106个赞
知道答主
回答量:87
采纳率:0%
帮助的人:50.1万
展开全部
n=2,条件中已赋值,怎能呢个改变?
后面的(m=a>b)&&(n=c>d)表达式是迷惑你的,而n=c〉d为假,不能当作赋值语句,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庞宇荫rg
2010-05-28 · TA获得超过7271个赞
知道大有可为答主
回答量:2531
采纳率:0%
帮助的人:1042万
展开全部
c>d值为0
然后把0赋值给n
n=0

我是这么理解的。跟你的结果一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
85955389
2010-05-28 · TA获得超过3946个赞
知道小有建树答主
回答量:728
采纳率:100%
帮助的人:835万
展开全部
在该表达式中,程序首先计算第一个括号的值,其中先计算a>b,结果显然是0.那么将0赋给m,因为其中逻辑运算符为&&,自左向右运算,第一个为假,那么程序将不再计算后面的操作数,直接认定该表达式的值为假,所以后面的括号的表达式没有被执行,所以n的值没有变。 如果你将第一个括号的a>b改为a<b,试试看,是否是n的值改变了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友274cabf
2010-05-28 · TA获得超过346个赞
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:133万
展开全部
n=2,在且a=5,b=7,c=3,d=8,m=2,n=2,条件中已赋值

逻辑表达式(m=a>b)&&(n=c>d)得出的是返回值 返回值为0
但是n的值仍为2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BrotherAnt
2010-05-28 · TA获得超过154个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:120万
展开全部
这是算符的优先级的问题,>是比=高的,所以n=0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式