int a=1,b=2,c=3,d=4,则(a*a<b)&&(c-=b<=d++),求以下各值!

2024-12-04 03:25:59
推荐回答(5个)
回答1:

表达式:(1<2)&&(1<=4) 答案是真,即表达式=1
a*a先计算,c-=b即c=c-b 即1
a=1
b=2
c=3
d=4(d++逻辑值取原d值,但是先自增1,注意与++d的区别)
由于短路运算符&&的存在,a*a

回答2:

因为这个语句c-=b<=d++

先看右边的 b<=d++; 这是个判断 如果对的 则返回1 错的 就返回0
显然 这是对的 所以返回 1

把右边的看成1

则表达式变为 c-=1;
c=3;
所以 c=c-1=3-1=2;

回答3:

(a*a)=1则继续c=c-b=1,d++还是用d=4即1<4为真d++后变为5
最后a=1
b=2
c=1
d=5

回答4:

因为是

C-=B

C首先减1

C是3

C-意思就是C=C-1

C-1=2

2<=5为真。

回答5:

a=1
b=2
c=2
d=5