问题遇到的现象和发生背景
int a=1,b=3;,则下列表达式的结果为“真”的是:()
A. a>=2||!b&&b<4 B. b-a&&!a||a-b&&a/b
C. a-!a%b&&!b-!b%b D.a+b&&a-b&&b-3&&a||b
请说明A\BC\D四个选项的具体计算过程
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
注要考核运算符优先级的问题:

题中涉及的运算符从高到低: ! / % + - < >= && ||
把选择项的运算按此算出结果,0为假值,非0即为真
int a=1,b=3;
A. a>=2||!b&&b<4 =》 0||0&&0
B. b-a&&!a||a-b&&a/b => 1&&0||1&&0 => 0||0
C. a-!a%b&&!b-!b%b => 1-0 && 0 - 0 => 1 && 0
D.a+b&&a-b&&b-3&&a||b => 1&&1&&0&&1 || 1 ==> 1
所以选 D