hiv携带者吃药能活几年:大家帮忙看看一个简单的C程序

来源:百度文库 编辑:高校问答 时间:2024/04/28 16:20:20
#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型的值