VS Studio中scanf返回值被忽略?原因及解决方法 您所在的位置:网站首页 返回值被忽略fscanf怎么办 VS Studio中scanf返回值被忽略?原因及解决方法

VS Studio中scanf返回值被忽略?原因及解决方法

2024-05-21 15:07| 来源: 网络整理| 查看: 265

报警告:scanf返回值被忽略

VS Studio中scanf返回值被忽略?原因及解决方法_#pragma

原因

为了搞清楚为什么会出现这个问题,我们需要对scanf进行更加深刻的认识

打开cplusplus.com,我们可以看到scanf的详细信息

VS Studio中scanf返回值被忽略?原因及解决方法_c++_02

scanf的详细信息

根据上图,我们可以惊奇的发现,原来scanf是有返回值得,而且返回值还是一个整形

这个整型值是什么呢?

VS Studio中scanf返回值被忽略?原因及解决方法_#pragma_03

scanf的返回值

翻译后大体的意思为:如果这个scanf函数读取成功,scanf就会返回读取数据的个数;如果这个scanf读取失败(即一个数据都没有读到),scanf就会返回end-of-file(简称为EOF)

举个例子:

#include

int main()

{

       int a=0;int b=0;

       scanf("%d %d",&a,&b)

       return 0;

}

在这个代码中,如果你在键盘上输入了a和b,那么scanf成功读取到了两个数据,那么scanf的返回值就是2;如果你只输入了其中一个,那么scanf就成功读取到了一个数据,返回值就是1;如果你两个都没有输入,那么scanf就会返回EOF。

但是在这个代码中并没有一个变量来接收scanf的返回值,所以就会报警告了。

解决方法方法一:接收scanf的返回值

VS Studio中scanf返回值被忽略?原因及解决方法_#pragma_04

int b接收了scanf的返回值

如果说警告告诉我们没有接收scanf的值,那我们就接收即可

方法二:直接让编译器忽略掉警告

VS Studio中scanf返回值被忽略?原因及解决方法_数据_05

忽略返回值的警告

我们可以在顶部加一个#pragma warning(disable:6031),以此来忽略这个警告

当然,这里还有另外一个问题,如果说我每次打代码的时候都把#pragma warning(disable:6031)放在顶上,岂不是很麻烦?

为了一劳永逸,我们可以找到文件newc++file.cpp,打开后将#pragma warning(disable:6031)这句话直接放进里面,保存后,下次打代码的时候这串#pragma warning(disable:6031)就会自动放在顶上。

以上就是关于scanf返回值被忽略的原因以及解决办法的所有内容了,如有补充,欢迎私信留言



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有