A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hei军 中级黑马   /  2015-11-19 19:32  /  1690 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

char ch[10]={'i','love','you'};

for(int i=0;i<10;i++){

printf("%d",ch[10]);

}

原来当char类型的元素中多出来的字母都会省略,只会打印相应的最后一个字母



结果:i               e                   u

6 个回复

倒序浏览
好帖子一定要让更多的人看到!!
回复 使用道具 举报
用%d能打出字符来?另外,‘ ’用来引起来一个字符串,不会报错吗?
回复 使用道具 举报
没看懂,能说详细点吗
回复 使用道具 举报
lz好粗心.......假设printf你用的是%c,用的是ch[i],出现这样的结果应该是初始化的时候,单引号中的字符串只取最后一个字符。即在初始化的时候是这样 char  ch[10]={'i','e','u'};不是打印的时候省略了。报错或者警告信息要仔细看,很好的一个理解库函数和编译器运作的途径。
回复 使用道具 举报
字符是单引号,字符串是双引号
回复 使用道具 举报
LZ................
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马