报错原因:vs 中不能直接使用 scanf 等 C 标准库函数,因为 vs 使用更安全的 c11 标准, 认为这类函数不安全。(但是这类函数正常使用时是没有任何问题的)
vs2022中使用scanf报错,这里提供几种解决办法:
一、第一种解决办法: !!!注意:在文件的最开头(也就是第一行),添加:#define _CRT_SECURE_NO_WARNINGS
就可以解决。
添加后如下:即可解决问题。
特别要注意,添加在第二行都可能仍然报错。
二、第二种解决办法(与第一种方法原理一样): 使用修改项目的属性,直接使用这些“不安全”的函数。
在属性的命令行中添加: /D _CRT_SECURE_NO_WARNING
选中test-scanf项目,选中后单击鼠标右键,选择最后一个属性,然后找到C/C++目录下的命令行添加进去,点击确定即可。
二、第三种解决办法:使用 c11 标准中的“更安全”的函数 scanf_s
将scanf()改为scanf_s()即可。