有以下程序:
main()
{
int a; char c=10;
float f=100.0; double x;
a=f/=c*=(x=6.5);
printf("%d %d %3.1f %3.1f\n", a, c, f, x);
}
怎么看出来的?啥意思?
x=6.5
c*=6.5 得到c=65
f/=65 得到f=100.0/65=1.****(手算不出来)
a=f=1
a=f/=c*=(x=6.5);
表达式从右向左执行。
首先执行x=6.5,最后输出的x=6.5;
然后执行c*=x,即c*=6.5,由于c=10,最后输出的c=65;
然后执行f/=c,即f/=65,由于f=100,最后输出时,保留一位小数,所以输出的f=1.5;
最后a=f,由于a是整型,所以输出a=1;
如有帮助,望点击我回答右上角【采纳】支持一下。