大家好,我自学C++,尤其对数组一窍不通

我写了一下代码,却输不出数组str的值,还有{'a1','a2','a3','a4','a5'};这句话有问题,不知怎么改,还有我还写了string str[]={"a1","a2","a3","a4","a5"};我加了分号还是有问题呀,多多指教呀
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int str[]={'a1','a2','a3','a4','a5'};
cout<<str[5];
system("pause");
return 0;
}

第1个回答  2011-10-12
首先的问题一眼看见的就是:下标越界的问题。你声明了一个大小为5的整型数组,其中的元素是str[0],str[1],str[2],str[3],str[4] 。没有str[5]. 你把它修改成cout<<str[4]就可以输出数组的最后一个元素。
第2个回答  2011-10-12
‘ ’这个表示的是char型,只能是单个字符,比如'A', '1',你的string str[]={"a1","a2","a3","a4","a5"}是可以的,但是你cout<<str[5];有问题,数组下标从0开始,5个元素,下标最多到4,即str[0],str[1],str[2],str[3],str[4]; str[5]已经越界了
第3个回答  2011-10-12
不知道你是不是要这样一个程序
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
char str[][5]={"a1","a2","a3","a4","a5"};
cout<<str[4]<<endl;
system("pause");
return 0;
}

你的程序中有四个错误:
1、数组的属性应该为char,应为是字符串数组
2、应该声明为二维数组
2、每个元素应该用双引号包含在内
4、str[5]是不合法的,合法的地址为0-4本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网