c语言入门之定义与输入与输出类型相一致
2018-10-14 本文已影响0人
萍浮淵藪
错误:
#define pi 3.14
#include<stdio.h>
int main()
{
double r,h,s,v;
scanf("%d %d",&r,&h);
v=pi*r*r*h;
s=pi*r*r*2+2*pi*r*h;
printf("%.6lf %.6lf\n",v,s);
return 0;
}
正确:
#define pi 3.14
#include<stdio.h>
int main()
{
double r,h,s,v;
scanf("%lf %lf",&r,&h);
v=pi*r*r*h;
s=pi*r*r*2+2*pi*r*h;
printf("%.6lf %.6lf\n",v,s);
return 0;
}
注:定义为双精度,错解中为读取整数,输出又为双精度的数,不会报错也无警告但会产生无意义的运算结果