作业帮 > 综合 > 作业

int a=0,b=1,c=1; if(a++==b&&++a!=b) a=b++ + ++c+1; Question:

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/29 07:56:08
int a=0,b=1,c=1; if(a++==b&&++a!=b) a=b++ + ++c+1; Question:执行该程序之后a的值将会是多少?
答案是a=1.
但是我想要具体的步骤.是怎么得出来的.
比如:第一步,在if的条件表达式里:a++==b,先是a==b的条件执行,后a进行自增.(请问这里哪里错了呢?a++不是先自增后赋值吗?这里虽然是==,但不是先进行a==b的判断而是先进行a的自增后进行a==b的判断?所以说==和=相对于i++和++i的运算顺序不一样?)
然后第二步等等.
先判断if里的是0还是非0
a++这个式子是0,但a=1;所以a++!=b.
所以if里面为0(有&&时,只要有一个式子是0则整个为0).
所以不执行后面的a=b++ + ++c+1;
所以a=1.