c语言自动类型转换次数,C语言知识点十一: 自动类型转换和强制类型转换

本文详细介绍了C语言中的自动类型转换规则,包括在表达式中和作为函数参数时的数据类型提升。同时,文章通过示例阐述了强制类型转换的使用,指出混合类型可能导致的问题,并建议避免在编程中过度使用混合类型以减少错误。
摘要由CSDN通过智能技术生成

一.自动类型转换:

在C语言的语句和表达式中应使用类型相同的变量和常量。但是,如果使用混合类型,C语言采用了一套规则进行自动类型转换。

1.当类型转换出现在表达式中,无论是unsigned还是signed的char和short都会被自动转换为int,如有必要会被转换为unsigned int(如果short和int的大小相同,unsignedshort就比int大。这种情况下unsigned short就会转化成unsigned int)。

2.当作为函数参数传递时,char和short被转换成int,float被转换成double。

以上两种情况都是数据类型升级,也会出现降级,这就会导致真正的麻烦,降低了类型可能放不下整个数字。

举例:

6b9b9418d6babde5e9526de65783b106.png

说明:函数原型告诉编译器pound()需要一个int类型的参数。所以在执行该函数时将times,ch和f自动转换成int类型。

所以笔者认为最好不要使用混合类型,容易出错。

二.强制类型转换

举例说明:

Size = (int)1.6 + (int)2.6;

Size得3。使用了强制性转换将1.6和2.6转换为了整数类型,分别为1和2。

因此其用法就是在你需要转换类型的数据左边加圆括号,其里面的数据类型就是你想转换的数据类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值