a,c,f,x是怎么看出来的

有以下程序:

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;
如有帮助,望点击我回答右上角【采纳】支持一下。
img