鱼C论坛

 找回密码
 立即注册
查看: 1597|回复: 3

[已解决]S1E14中scanf返回值问题

[复制链接]
发表于 2020-2-12 19:57:55 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
scan族函数很脆弱,用%d输入数据时,如果遇到非法输入,比如本来应该输入数字,但你却输入字符。这个时候它不会读入任何数据,你输入的字符还会留在缓存区。所以该函数很不安全,vs里禁止使用scanf函数,而使用更安全的scanf_s。小甲鱼说,scanf 返回值:

如果函数调用成功,返回值是成功获取并填充到附加参数中的个数。

如果函数调用失败,返回值小于附加参数的个数(甚至是 0)。

如果读取到标准输入流的结尾处,则返回 EOF。
也就是说返回值是用来判断是否输入非法数据或者没有得到想要的数据。
还有返回值可以是任何已知数据类型,包括int char 结构体和类等等。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-27 09:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表