社区
C语言
帖子详情
简单问题,一定给分
whduyang
2001-08-08 01:25:23
为什么char[]和int[]的结果不一样。
我定义2个数组
int a[]={1,2,3,4};
char b[]={'a','b','c','d'};
cout<<a<<endl;
cout<<b<<endl;
第一行打印了a的地址, 0x121406c
第二行打印了b的内容 abcd
为什么??
...全文
125
9
打赏
收藏
简单问题,一定给分
为什么char[]和int[]的结果不一样。 我定义2个数组 int a[]={1,2,3,4}; char b[]={'a','b','c','d'}; cout<<a<<endl; cout<<b<<endl; 第一行打印了a的地址, 0x121406c 第二行打印了b的内容 abcd 为什么??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
alex_ma
2001-08-08
打赏
举报
回复
同意ddeng(登登) 的说法
dot99
2001-08-08
打赏
举报
回复
来晚咯
krerix
2001-08-08
打赏
举报
回复
他们说的是对的
ginger
2001-08-08
打赏
举报
回复
那个地址是不是a[]的首地址?
SCUM
2001-08-08
打赏
举报
回复
<< 是被重载过的操作符,当传过去的参数是 int 型时会转换成地址
char* 被转换成字符串
但其实不应该这样用的,你的 b[] 中没有字符串结束符,打印结果应该不是 abcd
如果是,那是运气好。
xiterator
2001-08-08
打赏
举报
回复
a类型为 int* const, b类型为char* const,cout<< a调用的是class basic_ostream<...>:: operator<<(const void *_X), cout << b调用的是inline basic_ostream<...>& __cdecl operator<<( basic_ostream<...>& _O, const char *_X)
fsb_12345
2001-08-08
打赏
举报
回复
int a[]是int型数组,a表示一个地址,要打应a的内容应打印A[0],A[1],A[2],A[3]
关于char b[],UP
MSXP2
2001-08-08
打赏
举报
回复
yes
ddeng
2001-08-08
打赏
举报
回复
int a[]是声明int型数组,a为一个指针,也就是一个长整数了,
char b[]实际上是声明一个字符串,相当于char *b = "abcd";
202X年度工作成果展示.pptx
202X年度工作成果展示.pptx
【Python + 半导体】生产批次全链路追溯代码
本资源提供一套完整的半导体生产批次全链路追溯Python代码,通过Pandas数据关联
分
析技术,实现从批次号出发,追踪产品生产的全生命周期信息。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章