问题
单项选择题
执行下列程序的结果是______。
main()
float x=1,y;
y=++x*++x;
printf("%f\n",y);
A.9.000000
B.6.000000
C.1.000000
D.程序有错误
答案
参考答案:B
解析: 本题考查C语言运算符的优先级,在C语言中,自增运算++优先级高于乘法运算的优先级,赋值运算的优先级低于其他运算符的优先级,因此本题++x*++x,首先执行两个自增运算,然后再相乘,带前缀形式的自增运算,应先运算后运用,第一个++x后值为2.0,第二个++x后值为3.0,因此本题结果为:6.000000。