3 c header include 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]);
}
Run Code Online (Sandbox Code Playgroud)
海湾合作委员会发出警告:
warning: implicit declaration of function ‘scanf’
warning: incompatible implicit declaration of built-in function ‘scanf’
warning: ‘mainp’ may be used uninitialized in this function
Run Code Online (Sandbox Code Playgroud)
我在运行时遇到了分段错误
输入:(P> Q),(Q> R), - R#-P输出:(P> Q),(Q> R), - R(空插槽)
我希望给我(P> Q),(Q> R), - R -P //我应该在我的代码中修复哪些它给我预期的//输出
Bri*_*ndy 11
问题#1:
警告:'mainp'可能在此函数中未初始化使用
您需要首先为阵列数组分配内存.
char **mainp = malloc(sizeof(char*)*2);
Run Code Online (Sandbox Code Playgroud)
问题#2:
警告:隐式声明函数'scanf'
警告:内置函数'scanf'的不兼容隐式声明
您需要stdio.h在文件顶部包含:
#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)
问题#3 :(不包括在编译警告中)
记得释放分配的数组成员以及数组地址数组.