c++二维数组输入输出问题

#include<iostream>
using namespace std;

int main(void)
{
int n;
char a[100][100];
cout <<"请输入字符串个数:";
cin >>n;
cout <<"请输入n个字符串" <<endl;

for(int i=0;i<n;i++)
{
cin >> a[i][100];
}

cout <<"输入完毕:"<<endl<<"现在反序输出"<<endl;
for(int i=n-1;i<=0;i--)
cout << a[i][100]<<endl;

system("pause");
return 0;
}
输入4 不能输出四个字符串 且反序输出没有结果,是怎么回事

cin >> a[i][100]; 只能输入一个字母,改为cin >> a[i];
cout << a[i][100]<<endl; 这个是输出每个字符串第100个字符,而且这个for循环只能将输入字符串的顺序颠倒,及先输入后输出
最好定义的时候初始化char a[100][100] = {0};
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-12
#include<iostream>
using namespace std;

int main(void)
{
int n;
char a[100][100];
cout <<"请输入字符串个数:";
cin >>n;
cout <<"请输入n个字符串" <<endl;

for(int i=0;i<n;i++)
{
cin >> a[i];
}

cout <<"输入完毕:"<<endl<<"现在反序输出"<<endl;
for(int i=n-1;i>=0;i--)
cout << a[i]<<endl;

system("pause");
return 0;
}
改成这样,你试一下
第2个回答  推荐于2018-04-15
cin >> a[i][100];改为cin>>a[i];

cout << a[i][100]<<endl;改为cout << a[i] <<endl;追问

这样可以,但是为什么呢

追答

a[i]表示第i个串的地址,a[i][100]表示第i个串的第101个字符

本回答被提问者和网友采纳
相似回答