首页 > 其他分享 >设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据

设计一个共用体类型,使其成员包含多种数据类型,根据不同的类型,输出不同的数据

时间:2022-11-29 17:24:57浏览次数:50  
标签:case union demo 数据类型 printf 类型 共用

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

相关文章

  • 使用共用体存放学生和老师的信息
    1题目功能:使用共用体存放学生和老师的信息描述:根据输入职业的标识,区分出是老师还是学生然后根据输入的标识将对应的信息输出。如果是学生,则输出班级信息如果是老师,......
  • JS基础11-3强制类型转换Boolean
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"conten......
  • HeadLiness类型的Service
    HeadLiness类型的Service在某些场景中,开发人员可能不想使用Service提供的负载均衡功能,而希望自己来控制负载均衡策略,针对这种情况,kubernetes提供了HeadLinessService,这......
  • 我开发的开源项目,让.NET7中的EFCore更轻松地使用强类型Id
    在领域驱动设计(DDD)中,有一个非常重要的概念:“强类型Id”。使用强类型Id来做标识属性的类型会比用int、Guid等通用类型能带来更多的好处。比如有一个根据根据Id删除用户的方......
  • 100023 求三角形类型各角度周长面积已知三边
    <?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';$tit='求三角形类型各......
  • 基本数据类型在转换时的注意点
    基本数据类型在转换时的注意点以Java的两种常用数值类型为例long,int常用的一种错误的防止溢出的写法是inta=???????,b=????????;longc=a*b;当a*b超出In......
  • scanf,printf对string类型的处理
    #include<bits/stdc++.h>usingnamespacestd;/*测试用例:abc*/constintN=110;intmain(){stringa;//scanf读入string的方法a.resize(N);/......
  • Java基础语法(2)数据类型
         ......
  • 类型转换
    类型转换Java是强类型语言,进行有些运算时,需要用到类型转换。数据类型转换时的优先级:低 ----------------------------------->高byte,short,char->int->long->f......
  • 类型转换
    类型转换由于Java是强类型语言,所以进行某些运算的时候,需要用到类型转换。低--------------------------------->高byte,short,char->int->long->float->double//小......