
int a=1, b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为?
3个回答
展开全部
n=2,因为m=(a>b);
解释为:如果a大于b,那么m等于true(即1);否则m等于false(即0);
n=c>d也是这个意思.
再有(m=a>b)&&(n=c>d)首判断a>b是否为真,因为a=1,b=2.所以a>b为假。m=0,接着就不进行
n=c>d。故n的值未改变。估是因为&&的原因。
解释为:如果a大于b,那么m等于true(即1);否则m等于false(即0);
n=c>d也是这个意思.
再有(m=a>b)&&(n=c>d)首判断a>b是否为真,因为a=1,b=2.所以a>b为假。m=0,接着就不进行
n=c>d。故n的值未改变。估是因为&&的原因。
展开全部
首先看m=a>b,因为a大于b不成立,于是m=0,由于后面是逻辑与,也就是要两个表达式都为真,结果才为真,显然,现在第一个都已经是假了,大多数c编译器就会阻止后面一个语句的执行,于是,最后的结果就是m=0,其余数字不变
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选A!首先要了解一下运算符的运算先后顺序,优先级口诀:
括号成员第一; 括号运算符[]() 成员运算符. ->
全体单目第二; 所有的单目运算符比如++ -- +(正) -(负) 指针运算*&
乘除余三,加减四; 这个"余"是指取余运算即%
移位五,关系六; 移位运算符:< >> ,关系:> >= <= 等
等于(与)不等排第七; 即== !=
位与异或和位或; 这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; 逻辑运算符:|| 和 &&
十二和十一; 注意顺序:优先级(||) 低于 优先级(&&)
条件高于赋值, 三目运算符优先级排到 13 位只比赋值运算符和","高
逗号运算级最低! 逗号运算符优先级最低
剩下的你自己同时参考一下2楼和3楼的解释,问题就应该能解决的比较透彻了!
括号成员第一; 括号运算符[]() 成员运算符. ->
全体单目第二; 所有的单目运算符比如++ -- +(正) -(负) 指针运算*&
乘除余三,加减四; 这个"余"是指取余运算即%
移位五,关系六; 移位运算符:< >> ,关系:> >= <= 等
等于(与)不等排第七; 即== !=
位与异或和位或; 这几个都是位运算: 位与(&)异或(^)位或(|)
"三分天下"八九十;
逻辑或跟与; 逻辑运算符:|| 和 &&
十二和十一; 注意顺序:优先级(||) 低于 优先级(&&)
条件高于赋值, 三目运算符优先级排到 13 位只比赋值运算符和","高
逗号运算级最低! 逗号运算符优先级最低
剩下的你自己同时参考一下2楼和3楼的解释,问题就应该能解决的比较透彻了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询