“隐含声明”警告

“隐含声明”警告,第1张

概述对于此代码: int i=0; char **mainp;for(i=0;i<2;++i){ mainp[i]=malloc(sizeof(char)*200); if(!scanf("%[^#],#",mainp[i])) break; if(i<2) scanf("%[^#],#",mainp[i]);} 海湾合作委员会发出警告: wa 对于此代码:

int i=0; char **mainp;for(i=0;i<2;++i){    mainp[i]=malloc(sizeof(char)*200);    if(!scanf("%[^#],#",mainp[i]))        break;   if(i<2)       scanf("%[^#],mainp[i]);}

海湾合作委员会发出警告:

warning: implicit declaration of function ‘scanf’warning: incompatible implicit declaration of built-in function ‘scanf’warning: ‘mainp’ may be used uninitialized in this function

我在运行时遇到了分段错误

输入:(P> Q),(Q> R),– R的#-P
  输出:
     (P> Q),– R的
           (empt slot)

我希望能给我
       (P> Q),– R的
       -P //我应该在哪里修复我的代码,以便它给我预期
                             //输出

解决方法 问题#1:

warning: ‘mainp’ may be used uninitialized in this function

您需要首先为阵列数组分配内存.

char **mainp = malloc(sizeof(char*)*2);

问题#2:

warning: implicit declaration of function ‘scanf’
warning: incompatible implicit declaration of built-in function ‘scanf’

您需要在文件顶部包含stdio.h:

#include <stdio.h>

问题#3 :(不包括在编译警告中)

记得释放分配的数组成员以及数组地址数组.

总结

以上是内存溢出为你收集整理的“隐含声明”警告全部内容,希望文章能够帮你解决“隐含声明”警告所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1218950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存