无锡无缝钢管厂家:C语言 赋值顺序的问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 11:04:21
下面程序的输出结果是______?

main()
{
double a; float b; int c;
c = b = a = 40/3
printf("%d %f %f\n", c, b, a);
}

正确答案: 13 13.000000 13.000000

我不明白在这种连等式下究竟是按怎样的顺序赋值的~~我觉得应该是从右向左,这样的话a应该就不是这个值了~
谢谢大家!

分解开就是:
a=40/3;
b=a;
c=b;

是从右往左赋值的啊,首先a=40/3,注意40和3都是整数,所以结果仍然是整数,得13,但是a是double型,所以给它赋13.000000。