Visual Studio解决scanf函数不能使用的问题

源代码: #include<stdio.h>

int main() { int num1 = 0; int num2 = 0; int sum = 0; scanf("%d%d", &num1, &num2); sum = num1 + num2; printf("sum = %d\n", sum); return 0; } 一段简单实现键盘录入整数相加的代码,使用c语言提供的scanf函数,运行结果如下: 可知,scanf函数被Visual Studio认为是不安全的函数,需要使用编译器提供的scanf_s来替换。 当然,把scanf替换为scanf_s可以完美解决问题,但是这样代码就失去了跨平台性,那么怎么能够在使用c语言提供的scanf函数的同时还能在Visual Studio编译器上运行呢? 注意警告中的#define _CRT_SECURE_NO_WARNINGS 1,这行代码的效果是使警告失效,需要在代码第一行也就是顶部使用。 例如: #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>

int main() { int num1 = 0; int num2 = 0; int sum = 0; scanf("%d%d", &num1, &num2); sum = num1 + num2; printf("sum = %d\n", sum); return 0; } 运行结果如下: 完美运行。 但是还有一个问题,难道每次创建文件都需要写这样一句话吗?这样岂不是很麻烦。当然,有解决的办法。 找到Visual Studio的根目录(我的版本是2019,每个版本目录可能不同,但VC\vcprojectitems\newc++file.cpp通常是相同的): 找到VC\vcprojectitems下的newc++file.cpp文件,记事本打开,然后将#define _CRT_SECURE_NO_WARNINGS 1直接粘贴在里面即可: 这样在你新建项时,#define _CRT_SECURE_NO_WARNINGS 1这行代码会自动出现在页面顶部: