C语言的if语句:以下程序的目的是不是求最后w的值?那为什么x会变成2?还有if(X++)的意思是不是x!=0?

2025-04-30 04:23:35
推荐回答(2个)
回答1:

if(x++)相当于if(x>0);x=x+1;
结果是判断x>0为假,但x从0变成1,
然后做第二次判断if(x++&&y>=1)时,x变成2,

而由于此判断成立,所以第三个if不会执行,
因此x为2,w=y=1.

回答2:

第一个if先判断x是否为真,即这里是不等于零为真,再执行加一操作,此时先判断不为真,执行加一后x变成1,再执行else if x等于1为真y等于2也为真,x又执行了加一操作,变成了2,w也被赋值为y,此时后面的else不再执行了,就出现了打印的结果。