int数组char数组cout问题

jjcl521 2010-12-09 09:43:05

int arr[11];
for(int i=0;i<10;i++)
arr[i]=i;
arr[10]='\0';
cout<<arr<<endl;

char ch[11];
for(int j=0;j<10;j++)
ch[j]='i';
ch[10]='\0';
cout<<ch<<endl;


输出结果 :
0012FDE0
iiiiiiiiii
问为什arr输出的是地址,ch输出的是字符串呢?
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lt114896 2010-12-09
  • 打赏
  • 举报
回复
你换成for(i=0;i<10;i++)
cout<<arr[i]<<endl;
就行了,他这样输出的是数组的首地址
jjcl521 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 q191201771 的回复:]

楼上正解
另外int型数组后面就别放'\0'
放了也是char类型转成了int,可以看下ascii表
[/Quote]

哦,我把arr[]输出一下看看就行了
dxms8 2010-12-09
  • 打赏
  • 举报
回复
ls都说了,我来帮顶下
就想叫yoko 2010-12-09
  • 打赏
  • 举报
回复
楼上正解
另外int型数组后面就别放'\0'
放了也是char类型转成了int,可以看下ascii表
失落的凡凡 2010-12-09
  • 打赏
  • 举报
回复
<<操作符 重载了char*的版本。因为char*很特殊,C里用它来表示字符串。
hai040 2010-12-09
  • 打赏
  • 举报
回复
ostream专门对char*做了重载

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧