C语言用Union怎么写

2025-03-24 12:01:43
推荐回答(3个)
回答1:

最后那个浮点数输出与输入不一样是因为计算机内部是以二进制来保存数据的,有一些十进制小数无法精确地转换成二进制,再加上float型的精度不够导致的。
#include

union un_type
{
char charvar;
int intvar;
float floatvar;
};

int main()
{
union un_type myunion;
printf("请输入一个字符\n");
scanf("%c", &myunion.charvar);
printf("联合myunion中当前存的是字符%c\n", myunion.charvar);
printf("请输入一个整数\n");
scanf("%d", &myunion.intvar);
printf("联合myunion中当前存的是整数%d\n", myunion.intvar);
printf("请输入一个浮点数\n");
scanf("%f", &myunion.floatvar);
printf("联合myunion中当前存的是浮点数%f\n", myunion.floatvar);
return 0;
}

回答2:

共用体
构造数据类型,也叫联合体
用途:使几个不同类型的变量共占一段内存(相互覆盖)

结构体是一种构造数据类型
用途:把不同类型的数据组合成一个整体-------自定义数据类型
EG:
union T_type
{
char charvar;
int intvar;
float floatvar

}

回答3:

uion
{
char c;
int i;
float f;
}