直接上代码:
看了就懂了。
#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
char **str;
int i,j;
char ch;
str=(char **)malloc(sizeof(char*));
cout<<"输入字符串,以@结束:"<<endl;
fflush(stdin);
i=0;
ch=getchar();
while (ch!='@')
{
str=(char **)realloc(str,(i+1)*sizeof(char*));
str[i]=(char*)malloc(sizeof(char));
if (i==0)
{
str[i][0]=ch;
j=0;
}
else
{
j=-1;
}
ch=getchar();
while ((ch!='\n')&&(ch!='@'))
{
j++;
str[i]=(char*)realloc(str[i],sizeof(char)*(j+1));
str[i][j]=ch;
ch=getchar();
}
str[i]=(char*)realloc(str[i],sizeof(char)*(j+1));
str[i][j+1]='\0';
i++;
}
for (j=0;j<i;j++)
{
cout<<str[j]<<endl;
}
return 0;
}