
菜鸟:c++中怎么打印出数组啊?
inta[3];a[0]=1;a[1]=2;a[2]=3;cout<<a<<endl;我调试的时候他显示的不是123,却是0012fe84??...
int a[3];
a[0] = 1;
a[1] = 2;
a[2] = 3;
cout << a << endl;
我调试的时候 他显示的不是123,却是 0012fe84?? 展开
a[0] = 1;
a[1] = 2;
a[2] = 3;
cout << a << endl;
我调试的时候 他显示的不是123,却是 0012fe84?? 展开
展开全部
C++中输出数组数据分两类情况:字符型数组和非字符型数组
当定义变量为字符型数组时,采用cout<<数组名; 系统会将数组当作字符串来输出,如:
char str[10]={'1','2'};
cout << str <<endl ; //输出12
如果想输出字符数组的地址,则需要进行强制转换,如:
char str[10]={'1','2'};
cout << static_cast <void *> (str) <<endl ; //按16进制输出str的地址,如:0012FF74
当定义变量为非字符符数组时,采用cout<<数组名; 系统会将数组名当作一个地址来输出,如:
int a[10]={1,2,3};
cout << a <<endl ; //按16进制输出a的值(地址) 0012FF58
如果需要输出数组中的内容,则需要采用循环,逐个输出数组中的元素,如:
int a[10]={1,2,3}; //初始化前三个元素,其余元素为0
for( int i=0;i<10;i++ )
cout << a[i] <<" " ;
cout <<endl ; //输出结果:1 2 3 0 0 0 0 0 0 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该改为cout<<*a<<endl;//输出a[0]
或
for(int i=0,i<3,i++)
{
cout << a[i] << endl;
}//输出三个
或
for(int i=0,i<3,i++)
{
cout << a[i] << endl;
}//输出三个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询