黑马程序员技术交流社区

标题: 下面这题答案多少,是怎么算的,过程。。。。 [打印本页]

作者: 大大的大孩    时间: 2015-8-29 11:19
标题: 下面这题答案多少,是怎么算的,过程。。。。
下列语句片断中,d的值为:()D    int c=3; char a=‘1’ char d=(char)(c+a);  A、3                 B、4                 C、31                  D、‘4’
作者: 刘登飞    时间: 2015-8-29 13:53
输出后 d 的值为   4   ,因为在对char d赋值的时候,有个强制类型转换过程,c + a的值直接强制转换了
作者: jlz890220    时间: 2015-8-29 15:51
c变量存储整数3,a变量存储字符‘1’,在代数运算中字符变量转换成它对应的ascii码值‘1’应该是49,计算之后的值为整数52,再把整数52强制转换成字符,52所表示的字符是‘4’
作者: 球球_    时间: 2015-8-29 16:09
char和int型变量进行相加运算的时候是默认以int型进行的,所以c+a应该以int型数据来进行运算,a是char型,它对应的int值我们查ASCII表知道应该是49,那么c+a的值是int型数据52,再转化成char,查找ASCII表后知道其对应的字符应该是‘4’,所以答案为D




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