[PTA报错]warning: ignoring return value of ‘scanf’, declared with attribute warn

您所在的位置:网站首页 警告忽略scanf返回值 [PTA报错]warning: ignoring return value of ‘scanf’, declared with attribute warn

[PTA报错]warning: ignoring return value of ‘scanf’, declared with attribute warn

2023-09-10 23:15| 来源: 网络整理| 查看: 265

[PTA报错]warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result[通俗易懂] 思创斯忠实用户-ss • 2022年11月17日 13:40 • 未分类

[PTA报错]warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result[通俗易懂]PTA刷题时总是出现如标题所示的报错——警告:忽略‘scanf’的返回值,用属性warn_unused_result声明之类的,于是对出现报错的原因和解决方法做了查阅。原因我们经常也能在编译器中看到到未处理scanf返回值的警告,但我们往往选择忽略,PTA太严格了!只有解决这个警告,无奈~首先scanf函数的返回值反映了按照指定的格式符正确读入的数据的个数。不一定等于得到输入值的输…

大家好,我是你的好朋友思创斯。今天说一说[PTA报错]warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result[通俗易懂],希望您对编程的造诣更进一步.

PTA刷题时总是出现如标题所示的报错——警告: 忽略‘ scanf’的返回值,用属性 warn_unused_result 声明之类的,于是对出现报错的原因和解决方法做了查阅。

原因

我们经常也能在编译器中看到到未处理scanf返回值的警告,但我们往往选择忽略,PTA太严格了!只有解决这个警告,无奈~ 首先scanf 函数的返回值反映了按照指定的格式符正确读入的数据的个数。不一定等于得到输入值的输入项的个数,也不是进入缓冲区的数据的个数。 如果输入数据与指定格式不符,则会产生输入错误。遇到输入错误,scanf函数会立即终止,返回已经成功读取的数据(即正确读入)的个数。 所以,通过scanf函数的返回值和指定输入数据的个数(由格式符决定)的比较,可以判断数据输入是否成功。 j就安全性来说在大多数情况下不应忽略 scanf 的返回值,所以他们给了它一个属性 warn_unused_result ,告诉编译器给你一个警告,如果返回值真的不需要,那么就没问题。不过,通常最好检查一下,以确保你确实成功地读取了你认为自己读取的内容。

解决办法

附上大佬多种解决方法,后几种更加简单,建议大家阅读每种方法代码上面的英文解释,能够更加清晰得了解到为什么这样一句就能解决/屏蔽这个warning,链接如下。 Can someone help me understand this warning?(解决方案)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处:https://ispacesoft.com/59332.html

赞 (0) 思创斯忠实用户-ss思创斯忠实用户-ss 0 0 生成海报


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3