下列程序的输出结果是( )。 #include <8tdio.h> main() { double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",

admin2013-02-23  19

问题 下列程序的输出结果是(    )。    #include  <8tdio.h>    main()    {  double d=3.2;  int x,y;       x=1.2;y=(x+3.8)/5.0;       printf("%d\n",d*y);    }

选项 A、3
B、3.2
C、0
D、3.07

答案4

解析 本题中,程序先执行语句x=1.2;根据赋值运算的类型转换规则,先将常量1.2转换为整型,取整数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。
转载请注明原文地址:https://kaotiyun.com/show/DhJp777K
0

最新回复(0)