类型转换

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++,所以尽量避免这种使用方法

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容