小编aar*_*ear的帖子

C memcpy与unsigned char数组有关

我有一个关于memcpy的问题,希望有人能回答.这是一个简短的示范程序:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>


int main (int argc, char **argv){
  unsigned char buffer[10];
  unsigned short checksum = 0x1234;
  int i;
  memset(buffer, 0x00, 10);
  memcpy(buffer, (const unsigned char*)&checksum, 2);
  for(i = 0; i < 10; i ++){
    printf("%02x",buffer[i]);
  }
  printf("\n");
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行这个程序时,我得到34120000000000000000.
我的问题是为什么我得不到12340000000000000000?

非常感谢

c

3
推荐指数
1
解决办法
3095
查看次数

标签 统计

c ×1