肛门痛是怎么回事啊:C语言:int a=12; a+=a-=a*a 执行后..得到多少???...

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 00:41:13
执行下面的语句之后
得到是什么〉
是怎么算的?
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));
}

a+=a-=a*a
应该是先算a*a,得到144,
再算a-=144,得到-132,
再算a+=-132,得到-264

后面这个得到的是0,
计算过程是:
先算m1==m2,得到0
再算0=f1,得到0
后面的不算了
楼上的错了!~~~因为由于楼主的失误 那里应该是== 而不是= 在printf这里用=是错误的 只能是==所以楼上错了

a+=a-=a*a
应该是先算a*a,得到144,
再算a-=144,得到-132,
再算a+=-132,得到-264

后面这个得到的是0,
计算过程是:
先算f1>=f2,得到1
再算m1=1,得到1
再算f3<f4,得到0
再算m2=0,得到0
再算1&&0,得到0