加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

“隐含声明”警告

发布时间:2020-12-16 10:16:54 所属栏目:百科 来源:网络整理
导读:对于此代码: int i=0; char **mainp;for(i=0;i2;++i){ mainp[i]=malloc(sizeof(char)*200); if(!scanf("%[^#],#",mainp[i])) break; if(i2) scanf("%[^#],mainp[i]);} 海湾合作委员会发出警告: warning: implicit declaration of function ‘scanf’warnin
对于此代码:

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 :(不包括在编译警告中)

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读