c语言如何判断一个字符串是一种枚举类型,C语言的枚举类型(enumeration)

枚举(enumeration)是一系列命名的整形常量。枚举的例子有,一个星期里每一天的名称,钱币的币值等。如美国硬币币值的枚举定义:

enum coin{penny,nickel,dime,quarter,half-dollar,dollar};

以下代码声明money为枚举类型coin的变量:

enum coin money;

//使用枚举类型变量

money=dime;

if(money == quarter)

printf("Money is a quarter.\n");

理解枚举的要点是,每个符号都代表一个整数值。这样,诸符号都可以用于使用整值的任何场合(比如switch语句中)。每个符号都取大于其前导者的一个值,第一个符号的值是0。

注意:枚举中的dollar,quarter等符号只是一个整数值的名字,不是字符串。试图将money作为字符串输出是无效的。

所以实际上,输入/输出枚举符号的程序是相当繁琐的。以下代码演示了用文字形式显示枚举变量money中放置的硬币种类:

switch(money) {

case penny: printf("penny");

break;

case nickel: printf("nickel");

break;

case dime: printf("dime");

break;

case quarter: printf("quarter");

break;

case half_dollar: printf("half_dollar");

break;

case dollar: printf("dollar");

}

把枚举值翻译成可读字符串只能靠编码实现,因此它们在不产生这种转换的例程中最为有用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值