Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C &引用;隐式声明“;警告_C_Include_Header_Segmentation Fault - Fatal编程技术网

C &引用;隐式声明“;警告

C &引用;隐式声明“;警告,c,include,header,segmentation-fault,C,Include,Header,Segmentation Fault,对于此代码: 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]); } 我在运行时遇到了一个分段错误 输入:(p>Q),(Q>R),-R#-p 输出: (P>Q),(Q>R),-R (空插

对于此代码:

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]);
}
我在运行时遇到了一个分段错误

输入:(p>Q),(Q>R),-R#-p 输出: (P>Q),(Q>R),-R (空插槽)

我想给我 (P>Q),(Q>R),-R -P//我应该在代码中的什么位置进行修复,以使其提供预期的 //输出问题1:

警告:此函数中可能未初始化就使用了“mainp”

首先需要为数组数组分配内存

char **mainp = malloc(sizeof(char*)*2);
问题#2:

警告:函数“scanf”的隐式声明
警告:内置函数“scanf”的隐式声明不兼容

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

#include <stdio.h>
#include <stdio.h>
#包括
问题#3:(未包含在编译警告中)


请记住释放已分配的数组成员和数组地址的数组。

gcc希望在文件开头有这一行:

#include <stdio.h>
#include <stdio.h>

你不应该在没有声明的情况下使用函数;您使用了
scanf
,但在代码中没有声明
scanf
。由于它是一个标准库函数,它是在一个标准头文件中声明的,
stdio.h
,因此您只需要包含它:

#include <stdio.h>
#包括
Brian's适用于其他部分

可能重复的