-
int输出%f浮点值的时候比如2,2内部表示如果看作是float是个很小的数所以输出的是0.000000
-
double/float 浮点数按照%d输出,如果输出为0则说明a的数据放在地址的高端,而整型比浮点数内存中占的芓节数少整型只会把属于它的字节数读出来,如在Win32VC6.0下,Int是4位它就会把从a开始的4位读出来(按整型格式),所以它把浮点数低端地址嘚0给输出出来
-
所以说使用printf的时候数据格式一定要对应,或者使用printf("%d", (int)a);这样强制转换的方法输出不同格式的数据