【C/C++】数据类型转换

#include<stdio.h>

union {
    int integer;
    float fdata;
} Convert;

union {
    int *integer;
    float *fdata;
} pConvert;

int main()
{
    Convert.integer = 99;
    printf("result0: %d,  %f,  %d,  %d\n", Convert.integer, Convert.fdata, (int)Convert.fdata, *((int *)&Convert.fdata));
    printf("result1: %f,  %d,  %f,  %f\n", Convert.integer, Convert.fdata, (float)Convert.integer, *((float *)&Convert.integer));

    pConvert.integer = &Convert.integer;
    printf("result2: %d,  %f,  %f,  %f\n", *pConvert.integer, *pConvert.integer, *pConvert.fdata, (float)(*pConvert.integer));

    Convert.fdata = 9.96;
    printf("result3: %d,  %f,  %f,  %f\n", Convert.integer, Convert.fdata, (float)Convert.integer, *((float *)&Convert.integer));
    printf("result4: %f,  %d,  %d,  %d\n", Convert.integer, Convert.fdata, (int)Convert.fdata, *((int *)&Convert.fdata));

    pConvert.fdata = &Convert.fdata;
    printf("result5: %f,  %d,  %f,  %d\n", *pConvert.fdata, *pConvert.fdata, *pConvert.integer, (int)(*pConvert.fdata));

    return 0;
}

 

posted @ 2019-06-11 17:27  壹点灵异  阅读(208)  评论(0编辑  收藏  举报