c语言中为什么我把float 换成 double 后运算结果都是0,无论我是统一精度还是没1统一精度。


#include <stdio.h>

int main(void)
{
    double r,j,k;
    double PI = 3.14;
    printf("Please input r(保留两位小数):");
    scanf("%f",&r);
    printf("%f",r);
    j = 2.00*PI*r;
    k = PI*r*r; 
    printf("周长 = %f",j);
    printf("面积 = %f",k);
    return 0;
}

下面可以正常运行
#include <stdio.h>

int main(void)
{
    float r,j,k;
    float PI = 3.14;
    printf("Please input r(保留两位小数):");
    scanf("%f",&r);
    printf("%f",r);
    j = 2.00*PI*r;
    k = PI*r*r; 
    printf("周长 = %f",j);
    printf("面积 = %f",k);
    return 0;
}*/
```c


```

%f改成%lf试试