C语言中不同类型之间的混合运算

规则:

  • charshort类型参与运算的时候都会先转为int类型再运算
char + short => int + int
  • 所有浮点类型的运算都会转为double类型进行运算
float + float => double + double
  • 两种数据类型相同但一个是有符号,一个是无符号,则转为无符号类型
int + unsigned int => unsigned int + unsigned int
  • 低类型会转为高类型
int + long => long + long
  • 在赋值运算中,赋值号右边量的类型将转换为左边量的类型
char = int + short

        这里首先会把short类型转换为int类型进行运算,最后得到int类型的结果,然后再将int类型的结果转为char类型赋给左值


关系图:

不同类型之间的转换层级关系如下所示:

 


版权声明:本文为weixin_41917404原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。