55问答网
所有问题
下列程序的输出结果是 main() { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y
如题所述
举报该问题
推荐答案 2010-12-03
x和y都是整型,x=1.2后实际上x=1,y=(x+3.8)/5.0=(1+3.8)/5.0=0.96=0,所以d*y=0。
注意:给整型变量赋值时小数部分无效。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/F4F8L8QeR.html
其他回答
第1个回答 2010-12-03
3
相似回答
...
{
double
d=3.2;
int
x,y;
x=1.2;
y=(x+3.8)
/5.0; printf("%d\n...
答:
x和
y都是
整型,
x=1.2
后实际上x=1
,y=(x+3.8)
/5.0=(1+3.8)/5.0=0.96=0,所以
d
*y=0。注意:给整型变量赋值时小数部分无效。
下列程序的输出结果是( )
。
答:
Y=(X+3.8)
/5.0 => Y=4.8/5.0 => Y=0.96 Y也是整形,所以Y就等于0.再看这句:printf(”%d\n”
,d
*
Y);
d*Y =>
3.2
*0 所以
输出结果
就是0了,答案是C.
...
{
int
x,y;
double
d=3.2;
x=1.2;
y=(x+3.8)
/5.0; printf("%f",d*...
答:
int
x, y;
//注意,x,y是整型
double
d=3.2;
x=1.2;
//1.2取整是1,所以x=1
y=(x+3.8)
/5.0; //y = (1+3.8)/5.0,取整得y是0printf("%f",d*y); //打印0.0..
main()
{
double
d=3.2;
int
x,y;
x=1.2;
y=(x+3.8)
/5.0; printf("%d...
答:
计算机应该是存了一个跟
1.2
最接近的数值(接近但是小于1.2),这样的话x+3.8(注,3.8 也不能精确表示)就小于5.0,这样表达式
(x+3.8)
/5.0的值就是接近1但是小于1,然后将这个小于1的数值赋给y,而y是
int,
不能接收小数,对于绝对值小于1的情况都是0,所以
结果是
0 ...
main()
{double
d=3.2;
int
x,y;
x=1.2;
y=(x+3.8)
/5.0; printf("%d\...
答:
你的程序在winTC下编译没问题啊,只是结果变成了0。你想问的是什么问题呢,在程序中,x为1,然后算出的y为0,于是结果为0 ,如果要得到正确结果,应该把
x,y
定义为float或
double
型,并把print语句中的%d改为%f
大家正在搜
相关问题
以下程序的输出结果是 #define MIN(x, y) (...
36.下列程序的输出结果是( )。 main() { do...
main(){ double d=3.2; int x,y...
main() { double d=3.2;int x,y;...
main() { double d=3.2; int x,y...
#include <stdio.h> main() { do...
C语言问题 main() { int x,y; double...
下列程序的输出结果是