#include <stdio.h>
union pw
{
int i;
char ch[2];
}a;
void main()
{
a.ch[0]=13;
a.ch[1]=1;
printf("%d\n",a.i);
}
256何来?
追答这是因为一个char占用1个字节(8个二进制位),2的8次方=256
追问怎么知道char占有多少个字节?
追答char就是用于存放一个字节的,所以肯定是1个字节。
也可以在程序中用printf("%d",sizeof(char));进行查看。
#include
union pw
{
int i;
char ch[3];
}a;
void main()
{
a.ch[0]=13;
a.ch[1]=1;
a.ch[2]=1;
printf("%d\n",a.i);
}
那这题答案为什么是65805
1*256*256+1*256+13=65805
追问这又为何?
追答这可以看作是256进制吧。
追问a.ch[0] a.ch[1] a.ch[2] 是什么意思啊?
追答就是数组的三个元素的值啊
追问存在什么关系吗?