强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:
(type_name) expression
请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数:
#include
{ int sum = 17, count = 5;
double mean; mean = (double) sum / count;
printf("Value of mean : %fn", mean ); }
当上面的代码被编译和执行时,它会产生下列结果:
Value of mean : 3.400000
#include
{ int i = 17;
char c = 'c'; /* ascii 值是 99 */ int sum; sum = i + c;
printf("Value of sum : %dn", sum ); }
当上面的代码被编译和执行时,它会产生下列结果:
Value of sum : 116
常用的算术转换不适用于赋值运算符、逻辑运算符 && 和 ||。让我们看看下面的实例来理解这个概念:
#include
char c = 'c'; /* ascii 值是 99 */ float sum; sum = i + c;
printf("Value of sum : %fn", sum ); }
当上面的代码被编译和执行时,它会产生下列结果:
Value of sum : 116.000000
在这里,c 首先被转换为整数,但是由于最后的值是 double 型的,所以会应用常用的算术转换,编译器会把 i 和 c 转换为浮点型,并把它们相加得到一个浮点数。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !