菜鸟 有点不明白
#include<iostream>
using namespace std;
int main(void)
{
float f = 4.5f;
printf("%d\n",(int)f);//输出4
printf("%d,%d.\n",f,sizeof(double));//为啥输出的是0,1074921472?????
return 0;
}
[解决办法]
输出0那个是因为编译器把浮点数双精度(8)出栈,输出时只输出低四个字节, 全是0
http://blog.sina.com.cn/s/blog_40e8bfb90100ur3d.html
[解决办法]
第二个恐怕也要看汇编, sizeof(double)放到f前前前面输出就是8, 编译器有问题........
[解决办法]
草,用c++的输出输入头文件,用c的输出输入函数,,,,,有点别扭,,,
[解决办法]
f覆盖了下面的输出