我写了一下代码,却输不出数组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本回答被提问者采纳
#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本回答被提问者采纳