c++ float在进行运算时不是会换成double处理吗?
3.14159一共六位有效数字,也在float精度范围内。
为什么使用float会有WA,使用double则AC。
报WA代码如下:
#include<cstdio>
int main(){
double r,d,c,area;
float pi = 3.14159;
scanf("%lf",&r);
d = 2*r;
c = d*pi;
area = pi*r*r;
printf("%.4lf %.4lf %.4lf",d,c,area);
return 0;
}