Hot_Doge 2015-11-30 06:32 采纳率: 33.3%
浏览 1510
已采纳

C语言指针相关问题,不能理解输出结果

 #include<stdio.h>

typedef unsigned char * char_point;

char_point int_cp(int i)
{  
    printf("i: %d\n", i);
    printf("&i: %p\n", &i);
    printf("(c_p)&i: %p\n", (char_point) &i);
    char_point cp = (char_point) &i;
    return cp;
}


char_point float_cp(float f)
{
    printf("f: %f\n", f);
    printf("&f: %p\n", &f);
    printf("(c_p)&f: %p\n", (char_point) &f);
    char_point cp = (char_point) &f;
    return cp;
}

void endian(char_point cp, int size)
{
    for (int i=0; i<size; i++)
    {
        printf("0x%x\n", cp[i]);
    }

}

int main()
{
    int i = 0x21893678;
    float f = 913.45678f;   

    endian(int_cp(i), sizeof(i));
        //endian((char_point) &i,  sizeof(i));
    printf("== == == ===  =   ==== === = == = == \n");
        //endian((char_point) &f,  sizeof(f));
    endian(float_cp(f), sizeof(f));
}

期望的输出是和注释代码的输出一致

输出结果:
图片说明

注释的输出:
图片说明

  • 写回答

7条回答 默认 最新

  • JinJie_Zhang 2015-11-30 07:34
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。