为了账号安全,请及时绑定邮箱和手机立即绑定

#include<stdio.h> int main() { char a,b,c; scanf("%c", &a); scanf("%c", &b); scanf("%c", &c); if (a == 5 && b == 2 && c == 0) { printf("密码错误"); } else { printf("密码正确"); } return 0; }

哪里错了?

正在回答

3 回答

行吧  我也百度了一下用scanf_s就可以了  谢谢

0 回复 有任何疑惑可以回复我~

这是新版vc库添加的警告

因为微软认为scanf的使用存在安全隐患,因为C/C++中的字符串处理都是以\0为截止符的,如果搜索不到\0,容易出现字符串越界

所有vc扩展的所谓安全标准库,都添加了一个参数用以指定字符串参数的长度,用以避免这种安全隐患。

不过我用dev cpp试了一下,可以正常运行的,可能是你编译器的版本问题。

0 回复 有任何疑惑可以回复我~

报错信息能发一下吗?

0 回复 有任何疑惑可以回复我~
#1

流浪的萝卜 提问者

错误 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. 就这个 不懂啊!
2015-09-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

#include<stdio.h> int main() { char a,b,c; scanf("%c", &a); scanf("%c", &b); scanf("%c", &c); if (a == 5 && b == 2 && c == 0) { printf("密码错误"); } else { printf("密码正确"); } return 0; }

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信