问题 填空题

以下程序运行后的输出结果是 [6]
main()
char c;int n=100;
float f=10;double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);

答案

参考答案:[6] 2 20.0或2 20或2 20.或2 20.000000。

解析: 本题考查的是赋值运算符。所有的赋值运算符的优先级都相同,它们的结合性为从右至左,它们返回的表达式值为赋给变量的值。所以,语句x=f*=n/=(c=50);→x=f*=n/=50;→x=f*=2;(n的值变成2)→x=20;。故最终输出的结果应该是:2 20.000000

选择题
阅读理解与欣赏