#include <iostream.h> #include <conio.h> #include <stdlib.h> int main() { float a=1.0f; cout<<(int)a<<endl; cout<<&a<<endl; cout<<(int&)a<<endl; cout<<"结果= "<<((int)a==(int&)a)<<endl; float b=0.0f; cout<<(int)b<<endl; cout<<&b<<endl; cout<<(int&)b<<endl; cout<<"结果= "<<((int)b==(int&)b)<<endl; return 0; }
float a=1.0f在内存中表示为0X3f800000(1065353216);浮点数和整形表示不同
(int&)a 将a由float强制转换成Int引用;因此此时输出十进制表示形式
(int)&a将a的地址转为int类型
输出结果为: