首页 > 试题广场 >

设a、b、c、d、m、n均为int型变量,且a=5、b=6、

[单选题]
设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:
  • 0
  • 1
  • 2
  • 7
推荐
分析:m=a>b后m=0,表达式为假,&&后半部分不会操作,因此n为初始值2
编辑于 2015-02-10 17:38:59 回复(3)
逻辑与或者逻辑或的表达式,先是判断一边,若一边可以判断整个表达式为真假时,另一边不再执行。
做题时一定要注意。
发表于 2016-05-26 17:03:00 回复(0)
&& 当第一个条件为false时,第二个条件不执行。
发表于 2015-06-25 09:56:03 回复(0)
赋值表达式的值等于表达式的左值,故在执行完m=a>b之后得到的值为0,&&之后的表达式并未执行,故n的值仍为2
发表于 2018-04-10 14:17:18 回复(0)
逻辑与或者逻辑或的表达式,先是判断一边,若一边可以判断整个表达式为真假时,另一边不再执行。
发表于 2018-03-29 21:09:55 回复(0)
&&  运算第一个条件判断为false后,就不会就计算第二个条件

发表于 2015-06-22 23:25:58 回复(0)
>的优先级大于=的优先级,所以先执行a>b为假,所以m=0,所以整个左边的表达式都为假,因此不执行右边的表达式,所以n=2;
发表于 2017-10-04 14:47:23 回复(0)
强迫症,不把右边的看一下就不开心。
发表于 2019-12-30 23:53:33 回复(0)
&&逻辑运算符是短路原理,左边为false,右边就不执行
发表于 2019-04-04 12:34:12 回复(0)
>优先级大于=
(m=a>b)  中,a>b为假,则m为0,整个式子的值是最左边的值,即m,值为0,则不进行后面的运算

发表于 2019-03-06 17:20:32 回复(0)
可以试着在 编译器做一个这个程序,语法都没法通过
发表于 2019-02-27 10:40:52 回复(0)
只计算前面
发表于 2019-02-22 08:52:13 回复(0)
短路求值
发表于 2018-11-06 11:31:54 回复(0)
当成表达式的值了举个爪
发表于 2018-07-24 23:44:05 回复(0)
=与>哪个优先级高?
发表于 2018-06-08 21:12:45 回复(0)
短路
发表于 2018-04-26 09:14:14 回复(0)
逻辑表达式当时或&&|的时候,左边为0,则右边不再运行,&&左右都运行
发表于 2018-04-19 17:08:24 回复(0)
我知道短路…可是括号的优先级不是比&&高吗,为什么不是先算括号里的然后在逻辑与
发表于 2017-12-13 15:07:22 回复(0)
Ծ‸Ծ忘了逻辑与有截断了
发表于 2017-09-04 15:03:13 回复(0)
m=a>b后m=0,表达式为假,&&后半部分不会操作,因此n为初始值2,入坑了
发表于 2017-08-29 16:18:49 回复(0)
我也以为问的是表达式的值😂,真的是要审清题目。 表达式中有&&运算符,如果左边结果为0,则不关心右边的结果,表达式不再执行下去。
发表于 2017-08-03 23:19:35 回复(1)