当我们使用Visual Studio 编写程序的时候,使用输入函数scanf()时常会出现报错,查看报错信息可以知道,系统给出了两个解决方案。
方案一:把编写的程序中所有的scanf()都改成scanf_s,改完后发现程序可以正常运行。
但是这种方法在程序过长时修改效率很低,并且必须注意一点的是,报错中scanf_s()的函数是vs编译器提供的,不是c语言所规定的,在其他编译器中无法识别函数scanf_s(),无法正确编译,代码的跨平台性降低。
方案二:头文件前定义宏_CRT_SECURE_NO_WARNINGS
程序第一行输入#define _CRT_SECURE_NO_WARNINGS 1,后续编写程序时使用scanf()时就可以正常运行。
然而如果每次编写一个新的程序都要在头文件前加入_CRT_SECURE_NO_WARNINGS又过于麻烦,下面介绍一种一劳永逸的方法。
第一步:打开我的电脑,输入newc++file找到对应文件。
第二步:右击打开文件位置。
第三步:把上述文件拖拽到桌面打开,注意上方窗口不要关闭。
第四步:把#define _CRT_SECURE_NO_WARNINGS 1复制到文件中,保存并关闭。
第五步:把桌面的newc++file文件放到原位置。
之后我们可以发现新建的源文件都有一行#define _CRT_SECURE_NO_WARNINGS 1,后续编写程序使用scanf()都可以正常运行了。