C语言,怎么运行的谢谢,特别是那个if(--a)

2025-04-25 03:20:14
推荐回答(3个)
回答1:

2

开始时a=1,b=0
if(--a)表示a在判断之前先自减1,这时候a=0
第二句判断a=0,注意这时不是比较而是赋值语句,赋值成功为真
进入else if执行b+=2,b开始为0,执行完之后b=2
最后结果为2

回答2:

3,if(--a)是先- 所以是if(0)
第二个 if(a=0) 注意不是a==0! 实际判断就是 if(0)(取决于a=0 还是 a!=0)

回答3:

if(--a)表示在执行--运算后,a的值是否为0,如果为0,则执行b++,如果不为0,则执行后面的else
if,这道题的结果是0