严冉迪:C语言:int a=2; a+=a-=a*a 执行后.......

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 06:50:24
执行下面的语句之后
得到是什么〉
是怎么算的?
main()
{
float f1,f2,f3,f4;
int m1,m2;
f1=f2=f3=f4=2;
m1=m2=1;
printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));
}

0
实际上 f1f2f3f4的值为2.0,而不是2

f1>=f2 成立 为1 所以m1=1
f3<f4 不成立 为0 所以m2=0
1&&0 为0
最后输出一个0