请教大神指针的类型转换

 #include<iostream>
using namespace std;
int main()
{
    float a = 12.7;
    int * pr=(int *)&a;
    cout<<*pr<<", "<<pr<<", "<<&pr<<endl;
    return 0;
}

求解:怎样让*pr输出12??
万分感激!!!

你int pr这一句,pr被你定义成整型变量了。只不过pr的值是a的地址,不是指向a的地址,正确应该是int *pr=....这样你再试试,别人告诉你不如自己试一下直白,

点了好久才点进回答。
你这是瞎玩指针啊,怎么能把指针转换成int呢,要转也是转成int*啊,
int* p = (int*) &f;
这样做,会导致读取指针时截断数据,因为float有内存装了小数,所以这样会导致*p的时候得不到完整数据。