黑马程序员技术交流社区

标题: 发现一个惊人的char类型问题: [打印本页]

作者: hei军    时间: 2015-11-19 19:32
标题: 发现一个惊人的char类型问题:
char ch[10]={'i','love','you'};

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

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

}

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



结果:i               e                   u
作者: 神陪我流浪    时间: 2015-11-19 23:02
好帖子一定要让更多的人看到!!
作者: Tmac90301    时间: 2015-11-19 23:35
用%d能打出字符来?另外,‘ ’用来引起来一个字符串,不会报错吗?
作者: 韦德460    时间: 2015-11-19 23:48
没看懂,能说详细点吗
作者: 打滚的橘子    时间: 2015-11-20 04:06
lz好粗心.......假设printf你用的是%c,用的是ch[i],出现这样的结果应该是初始化的时候,单引号中的字符串只取最后一个字符。即在初始化的时候是这样 char  ch[10]={'i','e','u'};不是打印的时候省略了。报错或者警告信息要仔细看,很好的一个理解库函数和编译器运作的途径。
作者: fengcommon    时间: 2015-11-21 00:38
字符是单引号,字符串是双引号
作者: 石油小硕    时间: 2015-11-21 22:52
LZ................




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2