在Vsual Stdio 2019调用scanf函数出现安全警告
方法1
在文件顶部添加代码: #pragma warning(disable:4996)
或者
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h> //#include<iostream>
//using namespace std;
int main()
{
int h, f, x, y;
printf("请输入鸡和兔的总头数:");//cout<<"请输入鸡和兔的总头数: "<<endl;
scanf("%d", &h);//cin>>h;
printf("请输入鸡和兔的总脚数:");//cout<<"请输入鸡和兔的总脚数:"<<endl;
scanf("%d", &f);//cin>>f;
x = (4 * h - f) / 2;
y = (f - 2 * h) / 2;
printf("鸡的头数为%d,兔的头数为%d", x,y);//cout<<"鸡的头数为"<<x<<",兔的头数为"<<x<<"头"<<endl;
return 0;
}
方法2:
右击工程中源代码(main.c)处,打开属性栏>配置属性>C/C++>所有选项,将SDL检查改为否,保存
方法3:
将scanf
改为scanf_s
scanf等类似的函数已经不太安全,要想保证程序的安全性,建议以后采用_s结尾的安全版本,但是很多以前的程序可能还是使用不安全的版本。
整这个最有效,没有任何错误,完全正确!
#include<stdio.h>
int main()
{
int h, f, x, y;
printf("请输入鸡和兔的总头数:");
scanf_s("%d", &h);
printf("请输入鸡和兔的总脚数:");
scanf_s("%d", &f);
x = (4 * h - f) / 2;
y = (f - 2 * h) / 2;
printf("鸡的头数为%d,兔的头数为%d", x,y);
return 0;
}