【发布时间】:2018-11-29 20:45:48
【问题描述】:
我试图通过指针将整数转换为浮点数。当我按如下方式进行指针类型转换时:
int main()
{
int a = 10;
float* b;
b = (float*)&a;
printf("b = %f\n", *b);
return 0;
}
结果是
b = 0.000000
在我的平台上,float 和 int 都是 4 位的。谁能告诉我为什么我不能得到 b = 10.0?谢谢!
【问题讨论】:
-
你为什么期望得到
10.0? -
提示:调试浮点输出时,请使用
"%e",而不是"%f"。指数符号提供的信息更丰富。