//代码段1
#include <stdio.h>
union{
short a[2];
long b;
char c[4];
}p;
int main(){
p.a[0] = 0x35;
p.a[1] = 0x34;
printf("%lx",p.b);
printf("%c",p.c[0]);
return 0;
}
/*
#include <stdio.h>
union{
short a[2];
long b;
char c[4];
}*p;
int main(){
p->a[0] = 0x35;
p->a[1] = 0x34;
printf("%lx",p->b);
printf("%c",p->c[0]);
return 0;
}
*/
也就是代码段2 调试时在第一条语句 (p->a[0] = 0x35;) 就出了问题