黑马程序员技术交流社区

标题: 关于类型转换 [打印本页]

作者: why168    时间: 2014-2-18 20:17
标题: 关于类型转换
int  i=1;
char a1='a'+i;错误
char a='a'+1;正确
各位大神,我知道char a1='a'+(char)i 需要转换一下,但为什么直接+1就没问题


作者: 徐君    时间: 2014-2-18 21:08
char a='a'+1;对,因为ASCII表,‘a’对应的是97  加1就是98,char a = ‘a’+i,涉及到类型转换,貌似char a1='a'+(char)i 这样改也不对吧
作者: 一年_Hei    时间: 2014-2-18 22:00
楼上正解
作者: 疲劳的小马    时间: 2014-2-18 22:06
'a'+1相当于是'b',但是int型数据i+'a'就不符合语法,因为int型数据不能和char型数据进行运算,所以要进行强转动作,即(char)i ,所以char a1='a'+(char)i 合法




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