4.8.2 强制转换
强制类型转换是通过类型转换运算实现的,其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。具体格式如下所示。
(类型说明符) (表达式)
例如下面的转换:
(float) m //把m转换为float型 (int)(m+n) //把m+n的结果转换为整型
在使用强制转换时应注意如下两个问题。
(1)类型说明符和表达式都必须加括号(单个变量可以不加括号),若把(int)(x+y)写成(int)x+y则是把x转换成整型之后再与y相加了。
(2)无论是强制转换还是自动转换,都只是为了本次运算而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。
实例4-8
使用强制转换计算两个数相除
源码路径daima\4\4-8
本实例的实现文件为“qiangzhi.c”,具体代码如下。
#include <stdio.h> int main(void){ int sum = 17, count = 5; double mean; mean = (double) sum / count; //此处使用强制转换 printf("sum除以count的结果是: %f\n", mean); return 0; }
代码编写完毕后,执行效果如图4-10所示。
图4-10 执行效果
拓展范例及视频二维码
范例4-8-01:使用#define预处理器
源码路径:演练范例\4-8-01\
范例4-8-02:使用const关键字
源码路径:演练范例\4-8-02\