测试环境:Windows 7 旗舰版(7600)
测试软件:VS 2010 SP1旗舰版
如果这个环境中使用scanf,会提示如下:
1>c:\users\administrator\documents\visual studio 2010\projects\open\open\open.cpp(7): warning 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.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : 参见“scanf”的声明
谁能告诉下,这俩函数的区别呢?
#include <stdio.h>
int main (void)
{
char zm,a;
printf("请输入一个字母:");
scanf_s("%c",&zm,1);
if ( zm >= 65 && zm <= 90)
{
a = zm +32;
printf("您输入的是大写字母,现在给你转换出小写字母%c",a);
}
else
{
printf("您输入的小写字母,无需转换。它是%c",zm);
}
}
这样就可以正常执行。另外我想问下scanf_s("%c",&zm,1);中的1代表什么意思。如果改成其他数字,有什么影响呢?