为什么结果为0.000000?
#include <stdio.h>void main()
{
double PI=3.14159;
int s,r=5;
s=r*r*PI;
printf("s=%f\n",s);
}
为什么结果为0.000000? #include <stdio.h>
void main()
{
double PI=3.14159;
int s,r=5; //这里的类型和PI类型不一致要改为float 或double,而不是int
s=r*r*PI;
printf("s=%f\n",s);
} 顶 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 s 是整型,打印的时候用 %d #include <stdio.h>
void main()
{
double PI=3.14159;
float s,r=5;
s=r*r*PI;
printf("s=%f\n",s);
}
printf("s=%f\n",s);double 最好是%lf 因为,S是整型,而PI是实型,因而在计算过程中,编译器会把PI转换为整型,中间就会丢失小数部分的数据.而后面,你又把S转换为实型输出,所以,就会出现这种情况 int s,r=5; 改成 float s,r=5.0
页:
[1]