#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类型
输出结果为: