帮忙解决下这个指针问题
#include<stdio.h>
#include<string.h>
void S_explode(char *buf, char sep)
{
char*p= buf;
char*q= buf;
char *array[100];
intnumber= 0, j=0;
int argcount = 0;
int len = strlen(buf);
while (len--) {
if ( p[0] == sep )
p++;
else {
q = p;
number = 0;
while( q[0]!=sep ) {
number++;
q++;
}
strncpy(array[argcount], p, number+1);
array[argcount][number] = '\0';
argcount = argcount + 1;
p = q;
}
}
printf("%s", array[0]);
}
int main()
{
char a[] ="h el lo";
char b =' ';
char *q ;
S_explode(a, b);
return 0;
}
不知道为啥,出错阿,帮忙解决下
[解决办法]
strncpy(array[argcount], p, number+1);
指针数据,array[0]没有赋内存,,申请内存