关于#c语言#的问题,请各位专家解答!

img

a为什么是2。b为什么是1呀

a=2,没什么说的,b=a&&a>0.先执行与运算,a是2所以表示为true,a>0,所以也是true,与运算结果是true,赋值给int是就是1.所以a=2,b=1

a && a为真也就是1
1 > 0为真,也就是1
b = 1
=赋值运算的优先级很低,先算右边的逻辑表达式
a的值并没有改变

&&是且的符号,a>0,a&&a=1,1>0,b=1