int a=1,b=2,c=3,d=4,m=2,n=2;(m=a>b)&&(n=c>d);为什么这样执行后输出的n的值是2而不是0?

来源:百度知道 编辑:UC知道 时间:2024/04/29 14:49:37

因为n=c>d 是不会执行的

记住 && 符号只要前面为假,后面就不计算

N=(C>D)

(m=a>b)&&(n=c>d);

由于&&的存在
因为m=a>b 是false 整条语句就一定是false后面的不会执行

同样a||b 如果a是true b也不会执行

无论是表达式1&&表达式2;还是表达式1||表达式2.
当执行表达式1就能确定整个表达式的逻辑值时,就不必执行表达式2.

由于m=a>b为false
&&直接跳出后面的语句