#include <stdio.h>
int main()
{
float f;
printf("Enter a number: ");
// %f 匹配浮点型数据
scanf("%f",&f);
printf("Value = %f", f);
return 0;
}
这是一个简单的输入打印程序,当被codeblocks,DEV C++等低版本的编译器执行时,本该不出现任何问题。而我在使用一些高版本的如VS或VC(我这是VC 2010)来编译时,总会出现大堆的警告,甚至莫名其妙的错误。
警告 2 warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
根据错误提示,系统认为strcpy,scanf、fscanf、fopen等函数是不安全的,要求考虑用fscanf_s、fopen_s代替,也就是加个"_s".
第一种方法:
在指定的源文件的开头定义:#define _CRT_SECURE_NO_WARNINGS (只会在该文件里起作用)
像这样:(这种方法需要加上 #define )
第二种方法:(注意,不需要 #define)
鼠标右键该项目(如图temp5),找到:
**属性->配置属性->C/C++ ->命令行
在下方粘贴上_CRT_SECURE_NO_WARNINGS ,点击确定
点击确认即可。