以下是引用ileelsai在2011-10-20 19:18:47的发言:
在输出的参数表中使用强制类型转换成printf中输出的格式应该就行了。
不同的类型在地址中的存储实现不一样
假设float存储为 0 0 0000000 0000……
表示正负 表示指数正负 表示指数值 存储数
double存储为 0 0 0000000000 0000
表示正负 表示指数正负 表示指数值 存储数
此时double以float格式输出时表示指数值的后3位就划分到存储数中了,指数值变了,存储数也可能变了
谢谢楼上的,可能是我没阐述清楚,其实我要问的是两种编译器对long double类形编译的结果为什么有区别。VC6编译的是所需要的结果,而GCC编译的不是。