C语言数组问题

[复制链接]
936|4
 楼主| 三禾月 发表于 2019-3-28 21:19 | 显示全部楼层 |阅读模式
char a[]={'a','b','c'};
printf("%s",a);//打印就乱码
但是
char a[10]={'a','b','c'};
printf("%s",a);//为什么就能打印正常?
座机呀 发表于 2019-3-28 22:36 | 显示全部楼层
printf打印到字符串结束符就停止
ayb_ice 发表于 2019-3-29 08:24 | 显示全部楼层
char a[]={'a','b','c'};实际等于char a[3]={'a','b','c'};

char a[10]={'a','b','c'};实际等于char a[10]={'a','b','c',0,0,0...};

明白了吧
 楼主| 三禾月 发表于 2019-3-29 20:45 | 显示全部楼层
ayb_ice 发表于 2019-3-29 08:24
char a[]={'a','b','c'};实际等于char a[3]={'a','b','c'};

char a[10]={'a','b','c'};实际等于char a[10] ...

不是遇到'\0'才结束么?0也会结束么
sjnh 发表于 2019-3-29 20:49 | 显示全部楼层
三禾月 发表于 2019-3-29 20:45
不是遇到'\0'才结束么?0也会结束么

‘\0’就是0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

28

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部