1 题目
功能:使用共用体处理任意类型数据
描述:设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据
2 思路
首先设定了各种数据类型的变量,由于这些变量不是全部一次性处理的,所以就采用了共用体类型
在下面例子中,通过 TypeFlag 来识别在共用体重的存储类型,执行程序的时候就会按照不同的存储方式进行存储到 union_demo 变量中
3 代码
#include <stdio.h>
#include <stdlib.h>
/**
函数:fun()
功能:使用共用体处理任意类型数据
描述:设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据
**/
union { // 定义共用体
int i; // 共用体成员
char c;
float f;
double d;
}union_demo; // 声明共用体类型的变量
int main(int argc, char const *argv[]) {
char TypeFlag;
printf("输入成员类型:\n");
scanf("%c",&TypeFlag); // 输入类型符
printf("输入数字:\n");
switch(TypeFlag) { // 多分支选择语句判断输入
case 'i':scanf("%d",&union_demo.i); break;
case 'c':scanf("%c",&union_demo.c); break;
case 'f':scanf("%f",&union_demo.f); break;
case 'd':scanf("%lf",&union_demo.d);
}
switch(TypeFlag) { // 多分支选择语句判断输出
case 'i':printf("%d",union_demo.i); break;
case 'c':printf("%c",union_demo.c); break;
case 'f':printf("%f",union_demo.f); break;
case 'd':printf("%lf",union_demo.d);
}
printf("\n");
}
示例结果:
$ gcc ex051.c -o demo
$ ./demo
输入成员类型:
i
输入数字:
10
10
标签:case,union,demo,数据类型,printf,类型,共用
From: https://www.cnblogs.com/hahaha-py-fast/p/16935963.html