bit型变量为何不能和字符相加

2019-07-14 21:03发布

bit型变量只能取二进制的0和1,但是为何不能和字符相加呢,比如:    bit a = 1;
    char b = '9';
   char c = a+b;//这一句程序说运行错误,我是这样理解的:1 +‘9’字符对应的ascii码57 = 58,然后将结果送给c

疑问:char c = a +b;这种写法和我的理解错在哪了,一直脑袋懵



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lm51323
1楼-- · 2019-07-15 01:33
335702318 发表于 2016-4-10 06:26
要强制类型转换

关键为啥要进行强制类型转换?
是不是因为字符在和数字相加时,字符对应的ASCII码值要首先转化为数字对应的数据类型,然后才能相加
lm51323
2楼-- · 2019-07-15 05:23
 精彩回答 2  元偷偷看……
335702318
3楼-- · 2019-07-15 08:57
lm51323 发表于 2016-4-22 00:08
问题早解决了,忘发了,关键点就是“字符和别的类型的变量相加,字符的ASCII码值首先要转化为变量对应的类型”
如int a ;
   bit b = 1;

'8'是ASCII字符,在数据里面看是 char 0x38
bit一般只作为判断跳转时才用到,bit跟其他类型的变量做加法必须做强制类型转换,这是C语言的语法要求的
而且你这样写可读性也不好
别人也许会看不明白,为什么一个bit的数据要跟‘8’相加
lee_st
4楼-- · 2019-07-15 12:32
学习一下哦,看看有何

一周热门 更多>