首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

Scanf语句
EN

Stack Overflow用户
提问于 2013-04-07 17:50:13
回答 2查看 661关注 0票数 0
代码语言:javascript
运行
复制
#include <stdio.h>
#include <stdlib.h>

你好,我想知道为什么这个程序不能执行。似乎我总是在正确执行scanf函数时遇到问题。我得到的错误是:

错误:忽略使用属性warn_unused_result声明的scanf的返回值

注意:我知道有一种更有效的方法来编写我当前的程序,但这不是重点。我想知道这个错误意味着什么,为什么我一直得到它,以及可能的解决方案。谢谢你们。代码如下:

代码语言:javascript
运行
复制
int main (int argc, char *argv[]){

    int x;
    int y;
    int z;
    int temp;

    scanf("%d", &x);
    scanf("%d", &y);
    scanf("%d", &z);

        if (x > y) {
           temp = x;
           x = y;
           y = temp;
        }

        if (y > z) {
            temp = y;
            y = z;
            z = temp;
        }

        if (x > z) {
            temp = x;
            x = z;
            z = temp;
        }

        printf("%d", x);
        printf("%d", y);
        printf("%d", z);

  return EXIT_SUCCESS; }
EN

回答 2

Stack Overflow用户

发布于 2013-04-07 17:51:56

你从编译器得到的错误就是它所说的。为了使您的应用程序正确,您必须检查scanf的返回值。可能的返回值在man page中进行了描述。

有关错误原因的解释,请参阅gcc manual的"warn_unused_result“部分(在Peter R.s回复中引用)。

票数 2
EN

Stack Overflow用户

发布于 2013-04-07 17:56:06

摘自GCC的文档:

warn_unused_result属性会导致在具有该属性的函数的调用者不使用其返回值的情况下发出警告。这对于不检查结果的函数非常有用,因为不检查结果要么是安全问题,要么总是错误,比如realloc

int fn () __attribute__ ((warn_unused_result));int foo () { if (fn () < 0) return -1;fn ();return 0;}

在第5行产生警告。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15861077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档