发布网友 发布时间:2024-02-19 09:31
共1个回答
热心网友 时间:2024-08-06 23:34
自动转换发生在不同数据类型的变量混合运算时,由编译系统自动完成。自动转换遵循以下各则:
若参与运算变量的类型不同,则先转换成同一类型,然后进行运算。
A.char型和short型参与运算时,必须先转换成int型。
B.所有的浮点运算都是以双精度进行的,即使仅含float单精度变量运算的表达式,也要先转换成double型,再作运算。A和B的运算都属于升级(promotion).
C.在任何涉及两种数据类型的操作中,它们之间等级较低的类型会被转换成等级较高的类型。
在赋值语句中,= 右边的值在赋予 = 左边的变量之前,首先要将右边的值的数据类型转换成左边变量的类型。
可以看出,这里你所说的应该是不同数据类型的变量混合运算时才会出现这种情况,而对于同种数据类型的变量运算时不会这样。