鱼C论坛

 找回密码
 立即注册
查看: 3608|回复: 13

一道简单的问题

[复制链接]
发表于 2014-7-2 22:19:34 | 显示全部楼层
本帖最后由 oggplay 于 2014-7-5 21:25 编辑
luckin 发表于 2014-7-4 18:42
小端机,按整形读出来的值应该是   0x75747372
小端机,按整形读出来的值应该是   0x72737475

[b]X86或者x86_64平台上几乎没有大端法机器。不管大小端法机器char的字节J肯定是最先打出来的然后接着是k。如果是int型(或者说数据类型超过一个字节)就不同了,看我2楼的帖子:http://bbs.fishc.com/thread-45454-1-1.html[/b]

抓图1.png
你的例题:
  1. #include<stdio.h>

  2. int
  3. main()
  4.     {
  5.             char p[]="jklmnopqrstuvwxy";
  6.             int i;
  7.             int  *t=(int *)p;
  8.             t+=2;
  9.            
  10.             for(i=0;i<sizeof(p)-1;i++)
  11.                 printf("%p:%.2x ",p+i,p[i]);
  12.             printf("\n");
  13.             
  14.             printf("=======int是这么存储的:大端法数字高位在低字节,小端法高位在高字节=======\n");      
  15.             printf("*t = %x\n",*t);
  16.             
  17.             printf("===============字符串类型:指针第一个是谁就是谁=========================\n");
  18.             printf("p[]= ");
  19.             for(i=0;i<4;i++)
  20.                 printf("%.2x ",p[i+8]);
  21.             printf("\n");
  22.             return 0;

  23. }
复制代码

以下是小端法输出结果:
抓图6.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 08:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表