题目本身有错误 加上 {} 后如下
#include
main()
{
int a=1,b=2,c=3;// ①
if(a--){// ②
b++;c++;// ③
}
else{
b--;c--;
}
printf("%d%d%d",a,b,c);
}
执行顺序 ①-》②-》③
②中 if(a--) 是先判断 后 自减 所以 true 执行 ③
答案:034
编译不通过,修改成这样:
#include
int main(void)
{ int a=1,b=2,c=3;
if(a--)
{
b++;
c++;
}
else
{
b--;
c--;
}
printf("%d%d%d\n",a,b,c);
return 0;
}
运行结果:
034
过程:
if(a--)先判断a是否为零,再自减(a为0)。所以执行
b++;
c++;