小编hal*_*010的帖子

C返回char []警告"返回局部变量的地址"

这是家庭作业的一部分.

我试图在我的方法getLine中读取并返回一行文件.

char *getLine(FILE *input) {
    char line[30];
    if(fgets(line, sizeof(line), input)!=NULL)
    {
        return line;
    }else{
        return NULL;
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎与我所教的有关指针的工作有关,但是我无法删除警告消息warning: function returns address of local variable [enabled by default].这个警告指的是这条线return line;.我的作业要求编译时没有警告或错误.我不明白我做错了什么.

我发现的大多数帮助建议为文本行提供malloc-ing空间,但是我们还没有在课堂上讨论过这个问题,尽管我已经在另一个类中做了一些.这真的是最好的方法吗?如果是这样,我可以在节目的任何地方免费吗?

c pointers return compiler-warnings

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

c ×1

compiler-warnings ×1

pointers ×1

return ×1