c语言在赋值时如果赋值过程出现类型转换,规律如下
1.浮点数值赋值给整型数值时,现对浮点数取整,就是去掉整数部分,再赋值给变量
#include<stdio.h>
int main()
{
int a;
a=3.14;
printf("%d\n",a);
return 0;
}
这段代码把整数型变量a赋值了浮点数3.14,外输出过程中,把小数0.14去掉,输出结果是3。
2.整型数值赋值给浮点数,数值不变,但以浮点数储存在变量中,比如下列代码
#include<stdio.h>
int main()
{
float b;
b=3;
printf("%f\n",b);
return 0;
}
定义了一个浮点型变量b,但赋值了整型数据3,输出结果是3.000000,是浮点数。
3.将一个双精度浮点型数据赋值给单精度浮点型,会将双精度浮点数转换为单精度浮点数,再进行存储。
#include<stdio.h>
int main()
{
float b;
b=1.43434343434343;
printf("%f\n",b);
return 0;
}
输出结果是1.434343,时一个单精度浮点数
4.字符型数据赋值给整型变量,将字符的ASCII赋值给整型变量。