c语言问题,关于字符数组初始化

[复制链接]
查看11 | 回复3 | 2013-6-1 12:17:57 | 显示全部楼层 |阅读模式
char name[4]={'a'};相当于char name[4]={'a','\0','\0','\0'};name[0]='a';name[1]==name[2]==name[3]=='\0';所以%c输出时,只有a,'\0'是没有输出的,同理%s输出是一样的。...
回复

使用道具 举报

千问 | 2013-6-1 12:17:57 | 显示全部楼层
因为char name[4]={'a'};只是给name[0]赋值为'a',name[1],name[2],name[3],将被编译器赋值为'\0',当然只会有'a'了...
回复

使用道具 举报

千问 | 2013-6-1 12:17:57 | 显示全部楼层
name[4]={'a'};后面三个字节自动补‘\0’。输出的时候'\0'是不会输出的。输出字符串以'\0'为结束信号,所以只输出一个a....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行