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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

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

}

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



结果:i               e                   u

9 个回复

倒序浏览
其实这也不是什么大问题  ,   好像就是有点丢失精度的问题
回复 使用道具 举报
char c='hello';
printf('%c',c);//输出结果为o

应该是对c赋值时,先赋值为h,然后e,最后为o
回复 使用道具 举报
你的用%S打印啊,%S才是打印字符串数组的,%C是单个字符,hello之所以是O因为前面的全部覆盖了
回复 使用道具 举报
红龙果 发表于 2015-11-19 19:57
char c='hello';
printf('%c',c);//输出结果为o

谢了    ,刚看了确实是有很多问题
回复 使用道具 举报
分工会根据客户即可回家客户即可
回复 使用道具 举报
直接用%c就好啦
回复 使用道具 举报
linexs 中级黑马 2015-11-23 15:51:03
8#
char []数组,撸主这样赋值不规范,单引号会塞不进去
回复 使用道具 举报
数组就只给了一个字节,你反复覆盖掉了前面的内容
回复 使用道具 举报
。。。这还惊人  
基础没掌握好
双引号内的内容是字符串 单引号内的内容是单个字符
所以你定义的数组只有ch[0]ch[1]ch[2]中有内容 分别是 i e u
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马