类型转换
类型转换:
在C语言中,当一个运算符的几个操作数类型不同时,编译器会在进行运算之前将他们共同转化为某种一样的数据类型,一般来说编译器会先将占用内存较小的数据转化为占用内存较大的类型,然后在进行运算,这样做的目的是保证计算的精度。
例如:
printf("%d",1+1.0);
输出整型,结果为 0。
printf("%f",1+1.0);
输出浮点型,结果为 2.000000。
强制类型转换
就是变量或数前加上要转换的类型。
例如:
printf("%d\n",1+(int)1.6);
将1.6强制转化为整型,小数点后面的数直接抛弃,结果为 2。
printf("%d",(int)(2.3+3.3));
先进行后面的运算得5.6,然后强制转化为整型,去掉小数部分,输出 5。