请教几个C语言题目?

来源:百度知道 编辑:UC知道 时间:2024/04/30 17:42:36
1,typedef union { float a[2];short b[4];char c[10];}
mytype;
main()
{ printf("%d\n",sizeof(t));}
程序输出结果是多少?为什么?(请说明详细原因)
2,main()
{ union {char i[2];int k;} r;
r.i[0]=2;r.i[1]=0;
printf("%d\n",r.k);
}
程序输出结果是多少?为什么?(请说明详细原因)
3,有以下定义语句,则sizeof(a)的埴是?而sizeof(a.share)的值是?
struct date {
int day;int month;int year;
union
{ int share1;float share2;}share;
}a;
程序输出结果是多少?为什么?(请说明详细原因)
4,struct abc
{int a,b,c;};
main()
{ struct abc s[2]={{1,2,3},{4,5,6}};
int t;t=s[0].a+s[1].b;
printf("%d\n",t);
}
程序输出结果是多少?为什么?(请说明详细原因)
5,main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%X\n",p);
printf("%X\n",p+5);
}
假设第一个printf语句输出的是204,则第二个printf语句的输出结果是?为什么?请说明详细原因
6,union un{
long i;
int k[5];
char c;
}dat;

想了几天,做了下!
1,typedef union { float a[2];short b[4];char c[10];}
mytype;
main()
{ printf("%d\n",sizeof(t));}
源程序有误,T未定义
2,main()
{ union {char i[2];int k;} r;
r.i[0]=2;r.i[1]=0;
printf("%d\n",r.k);
}
程序输出结果是2
3,有以下定义语句,则sizeof(a)的埴是?而sizeof(a.share)的值是?
struct date {
int day;int month;int year;
union
{ int share1;float share2;}share;
}a;
程序输出结果是多少?为什么?(请说明详细原因)
4,struct abc
{int a,b,c;};
main()
{ struct abc s[2]={{1,2,3},{4,5,6}};
int t;t=s[0].a+s[1].b;
printf("%d\n",t);
}
程序输出结果是6
5,main()
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%X\n",p);
printf("%X\n",p+5);
}
假设第一个printf语句输出的是204,则第二个printf语句的输出结果是?为什么?请说明详细原因
6,union un{
long i;
int k[5];
char c;
}dat;
struct st {
int