错误提示C4996怎么处理?
使用的VS2012编译程序。
// 求两数之和.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a,b,sum;
printf("请输入两个整数\n");
scanf("%d,%d",&a,&b);
sum=a+b;
printf("%d",sum);
return 0;
}
错误信息
错误1error 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.f:\程序源\目标生成程序\求两数之和\求两数之和.cpp111求两数之和
[解决办法]
用函数scanf_s().
[解决办法]
ANSI C中没有scanf_s(),只有scanf(),scanf()在读取时不检查边界,所以可能会造成内在泄露。所以vc++2005/2008中提供了scanf_s(),在调用时,必须提供一个数字以表明最多读取多少位字符。
#include <stdio.h>
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int a,b,sum;
printf("请输入两个整数\n");
scanf_s("%d,%d",&a,1,&b,1);
sum=a+b;
printf("%d",sum);
return 0;
}