请检查以下程序
#include <stdio.h>
#include<stdlib.h>
int main()
{
char *Date= NULL;
unsigned short y=2013;
Date = malloc(3);
sprintf((char *)Date,"%hu",y);
printf("%d %d %d %d %d \n",Date[0],Date[1],Date[2],Date[3],Date[4]);
printf("%s %d %d",Date,strlen(Date),sizeof(y));
}
output:
50 48 49 51 0
2013 4 2
我如何获得字符串长度 4 而不是 2,因为我将一个短整数值放入内存中,因此它应该占用 2 个字节的内存。但是它是如何占用 4 个字节的。
每个字节如何从输入中获得 2 0 1 3,而不是一个字节中的 20 和另一个字节中的 13。
我想将 20 放入一个字节,将 13 放入另一个字节。如何做到这一点。请告诉一些事情
请给出一些答案。