黑马程序员技术交流社区

标题: n的值不是0吗?怎么答案说2啊? [打印本页]

作者: 沐浴阳光@    时间: 2015-4-10 22:03
标题: n的值不是0吗?怎么答案说2啊?
设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为?
作者: 康仔    时间: 2015-4-11 00:16
n 一开始值就没变,就是2
作者: 可乐zj    时间: 2015-4-11 01:14
&&操作先判断符号左边的,若为0,则不再判断右边的,也就不运行,由于左侧(m = a>b)为0,所以右侧未运行,n的值也就没变
作者: wws    时间: 2015-4-11 01:20
同楼上,说的很好
作者: 郁永鹏    时间: 2015-4-11 07:36
明明是false,前面运算是m等于false,然后后面不做运算,所以n不变
作者: LuciferTJD    时间: 2015-4-11 07:46
3楼说的对
作者: 梦想中前行    时间: 2015-4-11 09:05
可乐zj 发表于 2015-4-11 01:14
&&操作先判断符号左边的,若为0,则不再判断右边的,也就不运行,由于左侧(m = a>b)为0,所以右侧未运行 ...

很详细的解答!
作者: shane_west    时间: 2015-4-11 09:30
这只是关系运算符而已 没有一个数值会改变的~~~
作者: wzboy    时间: 2015-4-11 10:28
两个&&叫做短路与
作者: 毛大鹏    时间: 2015-4-11 12:52
与运算短路,后面的不执行,所以n的值还是初始值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2