问题
单项选择题
以下程序的输出结果是
main ( )
double d=3.2;int x,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
A.1.0
B.0.96
C.0
D.1
答案
参考答案:C
解析: 本题中,程序先执行语句x=1.2;,根据赋值运算的类型转换规则,先将常量1.2转换为int型,取整数1,并将其赋值给变量x;然后执行语句y=(x+3.8)/5.0;,根据运算符的优先级,先计算小括号内的x+3.8,其运算过程是:先将整型变量x的值1转换为double型1.0,然后与3.8做加法运算,得到中间结果4.8;接着进行除法运算4.8/5.0,其结果小于1.0;接着进行赋值运算,赋值号左边的变量y的类型为整型,对这个小于1.0的中间结果进行取整,结果为0,于是变量y的值为0,d*y的值也为0。