c语言的这题怎么做

 我来答
百度网友e5728d2
2017-05-29 · 超过11用户采纳过TA的回答
知道答主
回答量:20
采纳率:100%
帮助的人:7.9万
展开全部
选D,对了呀,这是C语言的隐式转换,
进行算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须转换成同 一类型的数据才能运算,算术转换原则为:
整型提升:对于所有比int小的类型,包括char, signed char, unsigned char, short, unsigned short,首先会提升为int类型。
在进行运算时,以表达式中最长类型为主,将其他类型位据均转换成该类型,如:
(1)若运算数中有double型或float型,则其他类型数据均转换成double类型进行运算。
(2)若运算数中最长的类型为long型.则其他类型数均转换成long型数。
(3)若运算数中最长类型为int型,则char型也转换成int型进行运算。算术转换是在运算过程中自动完成的。
特别注意的是有符号和无符号之间的转换:
包含long与unsigned int,32位机器上都是4字节,所以均转换为unsigned long.
包含signed与unsigned int,signed会转换为unsigned。如果int恰好为负数,其结果为对unsigned取值个数求模的结果。比如将-1赋给8位的unsigned char,呢么结果就是255(-1对256取模后的值)。unsigned char取值范围0~255。
更多追问追答
追问
这里的都一样长啊,都只有一个
追答
一样长的情况,我在下边不是也写了么
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式