目标是求一个圆的面积,目标是输入圆的半径程序计算圆的面积

问题遇到的现象和发生背景

环境是Visual Studio Community最新版的

问题相关代码,请勿粘贴截图
#include<stdio.h>
#define PI 3.14
int main()
{
    float r,area;
    printf("请输入半径:");
    scanf("%f", &r);
    area =PI* r * r;
    printf("面积为:%f.\n", area);
    return 0;
}

运行结果及报错内容

1>D:\Visual Studio Community G\Project_Lzi\Project_Lzi\program2_1.c(11,14): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
1>D:\Visual Studio Community G\Project_Lzi\Project_Lzi\program2_1.c(10,2): error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

我的解答思路和尝试过的方法

换数据类型

我想要达到的结果

那你就换成double类型。

#include<stdio.h>
#define PI 3.14
int main()
{
    double r,area;
    printf("请输入半径:");
    scanf("%lf", &r);
    area =PI* r * r;
    printf("面积为:%lf.\n", area);
    return 0;
}

img


float r,area;
改为
double r,area;

scanf改为scanf_s

#include<stdio.h>
#define PI 3.14
int main()
{
    float r,area;
    printf("请输入半径:");
    scanf_s("%f", &r);
    area =PI* r * r;
    printf("面积为:%f.\n", area);
    return 0;
}