今天做OJ的时候出了一个小问题~
可爱的VS2010编译时发出了警告~
警告warningc 4996: ’scanf ’: thisfunctionorvariablemaybeunsafe.considerusingscanf _ sinstead.todisabledeprecafe use _ CRT _ secure _ no _ wabled
其实08和10都提示这个警告~
出现此提示的主要原因是,C库函数没有在许多函数内部进行参数检测。 微软担心使用它们会导致内存异常,所以改写相同功能的函数,对改写后的函数进行参数检测,使用这些新函数更安全、方便。 关于这些重写的函数不需要特别记忆。 因为编译器在对每个函数发出警告时,会告诉你合适的安全函数。 看了警告信息就知道了,使用的时候也看看MSDN的详细情况吧。
库函数重写示例:
将mkdir改写为_mkdir
将" fopen "改写为fopen_s
将stricmp改写为stricmp_s
将strcpy改写为strcpy_s
所以修正为scanf(x为scanf_s )就可以了~
警告行的源代码: scanf('%d%d”、oo、xx );
解决方案代码已更改为scanf_s('%d%d”,oo,xx )。