为什么在C和C+中的算术运算之前必须将短时间转换为int?从我得到的答案这个问题,看来C+继承了将short进int在C进行算术运算的时候,我可以选一下你的大脑吗?为什么这最初是在C中引入的吗?为什么不把这些操作short?例如(摘自DYP在评论中的建议):short s = 1, t = 2 ;auto x = s + t ;x会有类型的INT.
3 回答
![?](http://img1.sycdn.imooc.com/5458622b000117dd02200220-100-100.jpg)
不负相思意
TA贡献1777条经验 获得超10个赞
short
char
unsigned char -> int
void incbuf(unsigned char *buf, int size) { for (int i=0; i<size; i++) { buf[i] = buf[i] + 1; }}
.L3: addb $1, (%rdi,%rax) addq $1, %rax cmpl %eax, %esi jg .L3.L1:
addb
![?](http://img1.sycdn.imooc.com/5458477300014deb02200220-100-100.jpg)
哆啦的时光机
TA贡献1779条经验 获得超6个赞
int
- 3 回答
- 0 关注
- 421 浏览
添加回答
举报
0/150
提交
取消