问题来源
当我们使用vs编译器编译c语言代码,并需要用到一些非常常用的库函数的时候(如scanf)
vs编译器通常会报出如下错误:
有的时候即便报错了,程序也可以正常运行;
但有的时候就会同图中一样,程序无法运行;
出现这个错误的原因是vs编译器认为这些库函数是“不安全的”(我可真谢谢你,担duo心guan那xian么shi多,微软)
解决方法
解决这个报错问题的方法有两种
1.使用_S下标
如图所示,我们可以在库函数后面加一个_s,这时候vs就会把它认为是“安全的函数”,程序就可以正常运行了
方法一的致命缺点:
但是这么做有一个非常大的弊端——该代码只能在vs编译器里运行
如图,如果我们将这一串带_S的代码复制到**devc++**这款编译器里面
devc++编译器会报错,无法运行这串代码