您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言中的运算符升级(operator promotion)是什么?

时间:12-30来源:作者:点击数:

当两个不同类型的运算分量(operand)进行运算时,它们会被转换为能容纳它们的最小的类型,并且运算结果也是这种类型。下表列出了其中的规则,在应用这些规则时,你应该从表的顶端开始往下寻找,直到找到第一条适用的规则。
-------------------------------------------------------------
    运算分量1          运算分量2           转换结果
-------------------------------------------------------------
    long double      其它任何类型        long double
    double           任何更小的类型      double
    float            任何更小的类        float
    unsigned long    任何整数类          unsigned long
    long             unsigned>LONG_MAX   unsigned long
    long             任何更小的类型      long
    unsigned         任何有符号类型      unsigned
-------------------------------------------------------------

下面的程序中就有几个运算符升级的例子。变量n被赋值为3/4,因为3和4都是整数,所以先进行整数除法运算,结果为整数0。变量f2被赋值为3/4.0,因为4.0是一个float类型,所以整数3也被转换为float类型,结果为float类型0.75。

#include <stdio.h>
main ()
{
           float f1 = 3/4;
           float f2 = 3/4.0
           printf("3/4== %g or %g depending on the type used. \n",f1, f2);
}

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门