int main()
{
int i=0;
char *c[100],sub[20];
char *subString(char *src,char *sub ,int i,int j);
char *expr="123456789";
puts(expr);
while(i<strlen(expr))
{
c[i++]=subString(expr,sub ,0,i);
//c[i++]=sub;
printf("%s\n",c[i-1]);
}
printf("=======================\n");
i=0;
while(i<strlen(expr))
{
printf("%s\n",c[i]);
i++;
}
}
char *subString(char *src,char *sub ,int i,int j)
{
int x=0;
if(i>=0&&j<=strlen(src))
{
for(i;i<=j;i++,x++)
sub[x]=src[i];
sub[x]='\0';
return sub;
}else
exit(1);
}
我是把字符串exper截取子串放到sub里了,然后放进c[0],c[1],c[2]、、、中,但是每次都把c[0],c[1],c[2]、、中的改了啊???
追答char *c[100]
那么你觉得c[1]是什么类型呢?
是 char * 啊
就是一个指针阿
你每次对c[i]的赋值都赋的是sub啊,所以,c[i]都指向sub,就是指向同一个东东了,所以最后输出的都一样了