给数组i赋值,为什么c[1]=0,c[2]=0
#include<stdio.h>
int main()
{
union
{
int i[2];
long k;
char c[4];
}r,*p=&r;
p->i[0]=0x39;
p->i[1]=0x38;
printf("%x %x %x %x %x %x",p->c[0],p->c[1],p->c[2],p->c[3],p->i[0],p->i[1]);
return 0;
}