错误 1 error 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. d:\c语言项目\test-2023-4-27(2)\test-2023-4-27(2)\打印较大值.c 7 1 test-2023-4-27(2)
1. 原因
scanf函数读取数据的时候不管数据会不会放得下,如果数据放不下,会破坏栈空间,程序会出现问题。在VS 编译器中,scanf被认为不安全而被默认设置为禁用。

2. 解决办法
2.1. scanf替换为scanf_s
将程序中scanf替换为scanf_s即可,其他语法不变。但scanf_s函数是 VS编译器单独提供的函数,并不是C语言库里的标准函数,程序在其他编译器上运行依然可能报错,代码的可移植性会变差,所以并不推荐用这种方法来解决问题。
2.2 定义预定义符号_CRT_SECURE_NO_WARNINGS
在代码最顶端输入#define _CRT_SECURE_NO_WARNINGS。缺点是每次写完代码都要在顶端加上这句话,不够方便。
注意:#define _CRT_SECURE_NO_WARNINGS一定要放在最顶端,否则依然会报错!)
错误示例:
#include <stdio.h>
#define