为什么Visual Studio在写程序时,输入scanf()会直接报错
3个回答
展开全部
scanf()在读取时不检查边界,所以可能会造成内存泄露,所以VS2013提供了scanf_s()来替代,在调用时,必须提供给scanf_s一个数字以表明读取多少位字符,用法为scanf_s("%c",&letter,sizeof(letter)),否则,即使Ctrl+F7和Ctrl+F5通过了,程序的运行结果也可能与自己所期望大相径庭的。
如果非要用scanf函数,那么通过以下两种方式可以禁止警告:
(1)右击项目——属性——C/C++——预处理器——预处理器定义中增加_CRT_SECURE_NO_WARNINGS,然后点确定,退出。
(2)在函数最顶头进行定义:#define _CRT_SECURE_NO_WARNINGS,也可以禁止报错警告。
如果非要用scanf函数,那么通过以下两种方式可以禁止警告:
(1)右击项目——属性——C/C++——预处理器——预处理器定义中增加_CRT_SECURE_NO_WARNINGS,然后点确定,退出。
(2)在函数最顶头进行定义:#define _CRT_SECURE_NO_WARNINGS,也可以禁止报错警告。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询