类型转换

2017-12-12  本文已影响0人  c菜鸟

1表达式里,有符号还有无符号的char和short类型都将自动转换为int,在K&RC下,但不是在当前C下,float将自动转换为double,这种向上转换称为提升

2包含俩种数据类型的运算中,俩个值被转换俩种类型里较高的

3类型级别从高到底的顺序是 long doubl, double, float, unsigned long long, long long, unsigned long, long,unsigned int, int, char和short都没有被列在上述,是因为这俩种被自动转换为int

4在复制赋值语句中,结果被自动转换左边变量的类型例如:int a =3.2+3.3; 结果是6

5当作为函数参数时,传递的char和short会被转化为int,float被转为double

c中的指派就是

例如

int a =3.33+3.7; 结果是7.03会被截尾为7

int a =(int)3.33 +(int)3.7;a是6结果,因为3.33和3.7都被转换为3,所以结果是6

最后说一下,自己认为比较重要的就是++和--

在同一个表达式中用同一个变量

例如

int a=num  +  1+  num++;

这个执行的顺序不一定是从左往右的,就是不一定先执行num,有可能先执行num++,所以尽量避免这种使用方法

上一篇 下一篇

猜你喜欢

热点阅读