C语言:强制类型转换解析
0 2024-02-28

强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:

(type_name) expression

请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数:

#include <stdio.h>int main()

{ int sum = 17, count = 5;

double mean; mean = (double) sum / count;

printf("Value of mean : %f\n", mean ); }

当上面的代码被编译和执行时,它会产生下列结果:

Value of mean : 3.400000

#include <stdio.h>int main()

{ int i = 17;

char c = 'c'; /* ascii 值是 99 */ int sum; sum = i + c;

printf("Value of sum : %d\n", sum ); }

当上面的代码被编译和执行时,它会产生下列结果:

Value of sum : 116

常用的算术转换不适用于赋值运算符、逻辑运算符 && 和 ||。让我们看看下面的实例来理解这个概念:

#include <stdio.h>int main(){ int i = 17;

char c = 'c'; /* ascii 值是 99 */ float sum; sum = i + c;

printf("Value of sum : %f\n", sum ); }

当上面的代码被编译和执行时,它会产生下列结果:

Value of sum : 116.000000

在这里,c 首先被转换为整数,但是由于最后的值是 double 型的,所以会应用常用的算术转换,编译器会把 i 和 c 转换为浮点型,并把它们相加得到一个浮点数。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • C语言
  • 编程
  • 软件开发
  • 程序
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告