用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
因为首先(a%b == 0)是 false 然后会判断 (a+b) > 1000 结果也是false 所以最终结果是false 所以会输出b的值 。你想输出a的值可以让(a%b == 0)返回true 或者 (a+b) > 1000 返回true 或者这两个都返回true。但是其实当第一个(a%b == 0)如果已经是true了后面的判断也就不会执行了,这也就是所谓的短路。
真不知道如何回答你,这应该不是问题吧
看起来没问题吧。。。。。。。
|| 表示 或;那么(a+b)>1000为false,所以输出为b啊。。。
先弄清楚或与非吧,就“或”来说,四重方式,两种结果:真真为真,真假为真,假真为真,假假为假,自己往上套咯。