四川电建三公司 地址:大家帮忙看看一个简单的C程序

来源:百度文库 编辑:高考问答 时间:2024/04/25 20:35:46
#include <stdio.h>
struct
{
int num;
union
{
float a;
float c;
}b;
}d[2];
main()
{
int i;
for (i=0;i<2;i++)
{scanf("%d",&d[i].num);

if (d[i].num==10)
scanf("%f%f",&d[i].b.a,&d[i].b.c);
printf("%f%f\n",d[i].b.a,d[i].b.c);
}
getch();
}
到底是哪里错了。
不要求改,只说是哪里错了就行了。为什么是F的类型就不行??

union的大小等于它里边的最大的元素的大小,所以你的union的大小等于sizeof(float),里边只能存一个float型的值