C语言问题~ ...

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:45:13
...
float x
int i
x=3.6 i=(int)x
print ( x=%f,i=%d )

result:
x=3.600000 i=3

为什么最后i是等于3? 类型强制转换有什么规则?

(int)x将浮点数x转换为整型,即取其整数部分.
(float)i将整型i转换成浮点数,即小数点后添加6个0;

(int)把x强制转换为了整数,它只是取整数部分,小数不管,不存在四舍五入(四舍五入好象有专门的函数,忘记了),
类型强制转换有什么规则?这个说不清楚!涉及到的类型太多!不过隐含类型一般是从底到高,即不同类型运算,会自动吧类型底的转换为类型高的