設(shè)計(jì)一個(gè)共用體類型,使其成員包含多種數(shù)據(jù)類型,根據(jù)不同的類型,輸出不同的數(shù)據(jù)

1 題目

功能:使用共用體處理任意類型數(shù)據(jù)描述:設(shè)計(jì)一個(gè)共用體類型,使其成員包含多種數(shù)據(jù)類型,根據(jù)不同的類型,輸出不同的數(shù)據(jù)

2 思路

首先設(shè)定了各種數(shù)據(jù)類型的變量,由于這些變量不是全部一次性處理的,所以就采用了共用體類型在下面例子中,通過 TypeFlag 來識別在共用體重的存儲類型,執(zhí)行程序的時(shí)候就會按照不同的存儲方式進(jìn)行存儲到 union_demo 變量中

3 代碼

#include <stdio.h>

#include <stdlib.h>

/**

函數(shù):fun()

功能:使用共用體處理任意類型數(shù)據(jù)

描述:設(shè)計(jì)一個(gè)共用體類型,使其成員包含多種數(shù)據(jù)類型,根據(jù)不同的類型,輸出不同的數(shù)據(jù)

**/

union{? ? ? ? ? ? ? ? ? // 定義共用體

? inti;? ? ? ? ? ? ? ? ? // 共用體成員

? charc;

? floatf;

? doubled;

}union_demo;? ? ? ? ? ? ? ? ? ? // 聲明共用體類型的變量

intmain(intargc,charconst*argv[]) {

? charTypeFlag;

? printf("輸入成員類型:\n");

? scanf("%c",&TypeFlag);? ? ? ? ? ? ? ? // 輸入類型符

? printf("輸入數(shù)字:\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");

}

示例結(jié)果:

$ gccex051.c-odemo

$ ./demo

輸入成員類型:

i

輸入數(shù)字:

10

10

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容