C语言填空题2

来源:百度知道 编辑:UC知道 时间:2024/06/11 06:19:28
下列程序的结果是——0
main()
{
double d=3.2
int x,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%f\n",d*y);
}
怎么算的? o(∩_∩)o...

x是int型,为1。1+3.08=4.08,然后除5.0,因为y也是int型,此时y=0,打印d*y也就是0

因为x是int型所以转为1,(1+3.8)/5.0=0.0因为y也是int型所以结果为0

1 x=1.2
2 y=(int)(1.2+3.8)/5.0=(int)4.0/5.0=0
3 d*y=0*3.2

x=1.2; 虽然被赋值1.2,但由于x为int类型,所以x的值为1.后面同理

y=(x+3.8)/5.0; (1+3.8)/5.0结果为0.xxx,赋予给y时,只保留整数区,所以为0.

因为x是int类型 所以x=1.2就相当于x=1
同理y=(1+3.8)/5.0=0
int类是整型变量...

0