@Drluo
2023-03-15T06:59:38.000000Z
字数 637
阅读 145
C
在使用scanf时,对于VS的编译器,你可能会遇到形如下方的报错
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.
其实不单单是scanf,strcpy、strcat、sscanf、fopen等函数都会出现安全检查(防止越界等)错误
你可以在.c文件开头使用
#define _CRT_SECURE_NO_WARNINGS
来规避掉这样的安全性检查
或者使用带_s下标的函数(scanf_s等),来进行安全的操作
如果你遇到了这种情况,你需要注意,自己的循环判断条件是不是写错,这种错误可能不好检查
比如 写成了 ,多层循环的变量名重复,循环中又对循环变量进行了加减操作或赋值操作()
请注意printf的双引号中,占位符的作用,一般来说占位符的类型与后面变量的类型相同,双引号中的内容会如数被输出
请注意scanf的双引号中,任何字符,占位符都有其意义,一般来说占位符的类型与后面变量的类型相同,"%d %d"和"%d,%d"所需的输入是不同的
以输入3和2为例,前者可以是 后者必须是