#include<iostream.h>
#include<string.h>
#define Num 10
void main()
{
int i;
int N; //信源个数
char **p; //需要一个字符数组(字符串)的数组,其实就是指向字符数组的指针数组,反映到程序上就是二级指针
cout<<"请输入信源个数N: "<<endl;
cin>>N;
*p=new char*[N]; //首先分配指针数组个数,也就是信源的个数
cout<<"请输入信符号:"<<endl;
for(i=0;i<N;i++)
{
*p[i]=new char[Num]; //对每个数组的元素(即一个指向字符数组的指针)分配用于存放字符数组的空间
cin>>*p[i];
}
for(i=0;i<N;i++)
cout<<*p[i];
}
另外,既然你用c++了,干吗不用string类,用这样的指向字符数组的指针数组会使代码很难读,修改如下
#include<iostream>
#include<string>
using namespace std;
void main()
{
int i;
int N; //信源个数
string *p;
cout << "请输入信源个数N: " << endl;
cin >> N;
p=new string[N];
cout<<"请输入信符号:"<<endl;
for(i=0;i<N;i++)
{
cin >> p[i];
}
for(i=0;i<N;i++)
cout << p[i];
}
[此贴子已经被作者于2007-1-2 13:04:12编辑过]