若执行以下程序段,int a=1,b=2,m=2,n=2;(m=a>b)&&++n;则n的值是?为什么?请详细解释以下谢谢~
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 19:02:21
![若执行以下程序段,int a=1,b=2,m=2,n=2;(m=a>b)&&++n;则n的值是?为什么?请详细解释以下谢谢~](/uploads/image/z/2477394-18-4.jpg?t=%E8%8B%A5%E6%89%A7%E8%A1%8C%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%E6%AE%B5%2Cint+a%3D1%2Cb%3D2%2Cm%3D2%2Cn%3D2%3B%28m%3Da%3Eb%29%26%26%2B%2Bn%3B%E5%88%99n%E7%9A%84%E5%80%BC%E6%98%AF%3F%E4%B8%BA%E4%BB%80%E4%B9%88%3F%E8%AF%B7%E8%AF%A6%E7%BB%86%E8%A7%A3%E9%87%8A%E4%BB%A5%E4%B8%8B%E8%B0%A2%E8%B0%A2%7E)
若执行以下程序段,int a=1,b=2,m=2,n=2;(m=a>b)&&++n;则n的值是?为什么?请详细解释以下谢谢~
若执行以下程序段,int a=1,b=2,m=2,n=2;(m=a>b)&&++n;则n的值是?为什么?请详细解释以下谢谢~
若执行以下程序段,int a=1,b=2,m=2,n=2;(m=a>b)&&++n;则n的值是?为什么?请详细解释以下谢谢~
当然应该得2了
前面不用去管,n初始值为2,执行(m=a>b)&&++n;是有说法的,首先a>b的结果是false,m的内容是0,括号中的运算结果是false,而紧跟的是逻辑与,前面已经是false了,那么不管后面是什么结果都是false,所以后面的内容实际是不运行的,所以n的值没有变,仍然是2;
如果改为(m=a