#include<iostream.h>
#define N 5//通过改变N的值控制输入的行数,如果是5的话,就不要输入6个
字符串,否则会越界
void main()
{ char *s[N];
int n;
cin>>n;
for(int i=0;i<N;i++)
{
s[i]=new char [n];//每个字符串的长度必须小于n
cin>>s[i];}
for(i=0;i<N;i++)
cout<<s[i]<<endl;
for(i=N-1;i>=0;i--)
delete s[i];
}
勉强能实现你的要求,还有一个错误,不是很清楚,欢迎交流...
呵呵,修改后的程序能正常运行....
下面的代码也可以解决问题:
#include<iostream.h>
void main()
{
int i,n;
cin>>n;//输入的字符串数
char **p;
p=new char *[n];
for(i=0;i<n;i++)
{p[i]=new char [20];//每个字符串的最大长度,可根据需要改变
cin>>p[i];}
for(i=0;i<n;i++)
cout<<p[i]<<endl;
for(i=n-1;i>=0;i--)
delete p[i];
}
以上程序在vc6.0中均运行通过...