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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© why168 中级黑马   /  2014-2-18 20:17  /  952 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int  i=1;
char a1='a'+i;错误
char a='a'+1;正确
各位大神,我知道char a1='a'+(char)i 需要转换一下,但为什么直接+1就没问题

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

3 个回复

正序浏览
'a'+1相当于是'b',但是int型数据i+'a'就不符合语法,因为int型数据不能和char型数据进行运算,所以要进行强转动作,即(char)i ,所以char a1='a'+(char)i 合法

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
一年_Hei 来自手机 中级黑马 2014-2-18 22:00:23
藤椅
楼上正解
回复 使用道具 举报
char a='a'+1;对,因为ASCII表,‘a’对应的是97  加1就是98,char a = ‘a’+i,涉及到类型转换,貌似char a1='a'+(char)i 这样改也不对吧

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马