以下程序有若干语法错误,不能正确输出成员a和成员v的值。请找出错误并改正之。
union
{ int a;
Struct
{ int u;
float v;
}b;
}
main()
{ union uu m;
m.a=200;
m.u=500;
m.v=120.5;
printf(“%d\t%f\n”,m.a,m.b.v);
}
printf(“%d\t%f\n”,m.a,m.b.v);
//此处错误,共用体只能读出最后一次输入的值//故应改为/*m.a=200;
printf("%d\t",m.a);
m.b.u=500;
m.b.v=120.5;
printf("%f\n",m.b.v);*/
代码如下:
#include<stdio.h>
struct Struct
{
int u;
float v;
} b;
union uu
{
int a;
struct Struct b;
};
main()
{
union uu m;
m.a=200;
printf("%d\t",m.a);
m.b.u=500;
m.b.v=120.5;
printf("%f\n",m.b.v);
}