正确结果:
6 250
5 1
0 0
详细解答步骤:
int a, b= 250, c; //声明,并初始化b=250;
if ((c=b)<0) a=4; //c=250,b=250,c大于0,不执行a=4语句!
else if (b=0) a=5;//将0赋值给b,b=0,if(0)不执行a=5语句!
else a=6;//有执行这语句:a =6
printf("\t%d\t%d\n",a,c);//6 250
if (c=(b==0))//因为b是0,表达式b==0成立,返回值1,c=1,赋值语句!if(1),执行a=5;
a=5;
printf("\t%d\t%d\n",a,c);// 5 1
if (a=c=b)//5=1=0,顺序从左到右,结果:a=0,c=0,b=0, if(0)
a=4;//不执行
printf("\t%d\t%d\n",a,c);//0 0 |