【发布时间】:2014-05-25 06:54:58
【问题描述】:
给定以下 sn-p 代码:
int *iptr;
float *fptr;
float fval;
fval = 0.0;
fptr = &fval;
iptr = fptr;
printf("%d \n", *iptr);
fval = 1.0;
printf("%d \n", *iptr);
输出是:
0
1065353216
为什么第一个打印语句至少与 *iptr (0.0) 关联的值大致匹配,而第二个打印语句不匹配?
【问题讨论】:
-
试试
printf("%d", fval); -
阅读浮点数的表示。那你就明白了。
-
一个很好的浮点表示初学者参考可以在这里找到:floating-point-gui.de。
标签: c pointers floating-point assign