c语言中强制类型转换后原变量值和数据类型不变 对吗?

如题所述

强制类型转换是把变量从一种类型转换为另一种数据类型

这话完全正确。
例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型。但这只适用于本次使用,原变量的类型及其中的值都不会发生变化。

扩展资料:

举例说明

使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数

#include <stdio.h>int main()

{
int sum = 17, count = 5;

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

printf("Value of mean : %f\nsum=%d\n", mean ,sum);
}

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

Value of mean : 3.400000
sum=17
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-01-29
按照代码来看的话应该是这样的,代码见下:
#include "stdio.h"
int main()
{
int i ;
printf("%d\n",sizeof(i));
(char)i;
printf("%d\n",sizeof(i));
char b;
printf("%d\n",sizeof(b));
return 0;
}
输出的结果是:
4
4
1
所以对于强制转换来说,变量原来的类型是不会变的本回答被网友采纳
第2个回答  2019-12-22
对的,表达式的值和类型变了,但不会影响原变量
相似回答