c++中字符串数组问题
来源:百度知道 编辑:UC知道 时间:2024/05/29 20:45:12
大概是想这样,输入一堆字符串,如ABC,DEF,GH等,想类似整型数组那样储存如下:
A[0]='ABC'
A[1]='DEF'
A[2]='GH'
怎么做?
A[0]='ABC'
A[1]='DEF'
A[2]='GH'
怎么做?
楼上说得对
用二维数组
就是,数组的元素类型是字符串
这样:
char a[3][20];
int i;
for (i=0 ; i<3 ; i++)
scanf("%s",a[i]);
其实二维数组就是:
一个指针数组
即一个数组,每个元素是指针
然后,每个指针指着一个字符串数组。
问题本身有问题,'ABC'不是一个字符,也不是字符串,"ABC"才是字符串。
如果想要存多个字符串,可以用指针数组
#include<iostream>
#include<string>
using namespace std;
int main()
{string a[3];
int i;
for(i=0;i<3;i++)
cin>>a[i]>>" ";
cout<<endl;
return 0;
}
用二维字符数组即可。a[i][j]
这样a[i]就对应一个字符串。。。
楼上的几位就是这个方法。
也可以像楼上那样声明string类的数组。
字符是指如'a'这样的,字符串只"ABC"这样的。。。
2楼说的很清楚了
char a[3][20];
int (*p)[20]=a;