请教:关于double和float的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:55:54
#define PI 3.14
#include <stdio.h>
void main()
{

float num,cir,area; /*将float换成double*/
scanf("%f",&num);
cir=2*PI*num;
area=PI*num*num;
printf("cir=%f,area=%f\n",cir,area);
}

将float换成double为何会出现错误结果?
谢谢!

读和写的时候 float 型用 %f ,double型用 %lf

#define PI 3.14
#include <stdio.h>
void main()
{

double num,cir,area; /*将float换成double*/
scanf("%lf",&num);
cir=2*PI*num;
area=PI*num*num;
printf("cir=%lf,area=%lf\n",cir,area);
}

%f -->%lf

vbtraz 说得对。