注册 登录
编程论坛 C++教室

C++题目,请详细说明

liushihuo 发布于 2013-02-28 17:23, 828 次点击
设有:
 int a=1,b=2,c=3,d=4,m=2,n=2;
 执行(m=a>b)&&(n=c>d)后,n的值是多少?为什么?
11 回复
#2
Susake2013-02-28 17:33
试一下不就知道了..在后面加个printf
#3
liushihuo2013-02-28 17:37
我是想知道为什么。不过现在我已经知道为什么了。
#4
fxbszj2013-02-28 19:34
无厘头
#5
逆风而前2013-02-28 19:47
只有本站会员才能查看附件,请 登录
#6
逆风而前2013-02-28 19:49
a>b不成立,所以m=0,不用执行n=c>d语句。n的值为原来的值2;
#7
风雨1232013-03-01 20:47
去编译一下就可以了,n=2  因为&&的左右都为假,a不大于b,c不大于d也为假,根据真为1,假为0;不会进入表达式,所以n还是为2。

[ 本帖最后由 风雨123 于 2013-3-1 20:49 编辑 ]
#8
颗_颗2013-03-01 21:12
6楼正解
#9
两条线2232013-03-05 21:21
支持六楼
#10
nandiin2013-03-06 14:08
m=a>b的结果是真还是假?   我怎么记得赋值运算的逻辑值都是真的呢?
#11
X1AO2013-03-06 19:44
回复 10楼 nandiin
不是式子的真假,而且逻辑意义上的真假,a=1,b=2,a>b是假的,也就是把0赋值给m。
#12
zymsyw2013-03-07 14:09
支持妹啊!都知道c>d为假,n=c>d 所以n=0
1