int型变量为整数,double型变量为浮点数,那么,如果int型变量和double型变量之间进行加减乘除操作,结果会是哪种类型的变量呢?
首先,int/int型和double/double型运算最后所得的结果的数据类型与运算对象保持一致,但是当进行int/double型和double/int型运算时,int型变量会隐性地转变为double型变量,这是在C语言中,当运算对象的数据类型不同时,较小的数据类型会自动转换为较大的数据类型,注意,这里的“大”与“小”并非指数据的绝对大小,而是所包含数据的“精度”,比如,double型能够显示小数点后的位数,所以它的运算范围就比int型更大。
我们来举个例子,求两个的整数的平均数时,平均数如何表示,并且显示小数点后位数呢,一种方法是(a+b)/2.0,这样就是int/double型运算,最后输出结果是double型,另一种方法是(double)(a+b)/2,即double/int型运算,它的结果也是double型。