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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

下列语句片断中,d的值为:()D    int c=3; char a=‘1’ char d=(char)(c+a);  A、3                 B、4                 C、31                  D、‘4’

3 个回复

倒序浏览
输出后 d 的值为   4   ,因为在对char d赋值的时候,有个强制类型转换过程,c + a的值直接强制转换了
回复 使用道具 举报
c变量存储整数3,a变量存储字符‘1’,在代数运算中字符变量转换成它对应的ascii码值‘1’应该是49,计算之后的值为整数52,再把整数52强制转换成字符,52所表示的字符是‘4’
回复 使用道具 举报
char和int型变量进行相加运算的时候是默认以int型进行的,所以c+a应该以int型数据来进行运算,a是char型,它对应的int值我们查ASCII表知道应该是49,那么c+a的值是int型数据52,再转化成char,查找ASCII表后知道其对应的字符应该是‘4’,所以答案为D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马