文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
7.4.3 枚举变量的初始化与赋值
在定义枚举变量的同时,可以对其进行初始化。例如:
enum Dir dir1 = LEFT;
定义了 enum Dir 类型的枚举变量 dir,并将枚举成员 LEFT 作为其初始值。
也可以对枚举变量进行赋值操作。例如:
enum Dir dir2; dir2 = DOWN;
C 语言中,可以将枚举成员视为整型常量,而将枚举变量视为整型变量。因此,可以将一个整型值初始化或者赋值给枚举变量。例如:
下面向读者展示一个关于枚举的小例子。
【 例 7-3 】编写程序,用键盘上的 W、S、A、D 四个按键来表示上、下、左、右四个方向,当用户按下相应按键后,程序能够打印输出用户所选择的方向。
程序代码如下:
printDirect 函数拥有一个 enum Dir 类型的参数 d,在函数体中使用了 switch 语句,由于枚举成员是一个整型常量,因此,可以用在 case 标签中。通过枚举变量 d 的值寻找匹配的 case 标签,通过 printf 来打印输出相应的信息。
主函数中,首先定义了两个变量,一个是枚举 Dir 类型的变量 dir,一个是字符类型变量 ch。在获取用户输入的字符后,将其保存至变量 ch 中,若用户输入的是小写字母,可以通过三目条件运算符,将存储在变量 ch 中的小写字母转换为大写字母。接着在 switch 语句中,当找到与变量 ch 匹配的 case 标签后,能够将一个正确的枚举成员赋值给枚举变量 dir。最后,将枚举变量 dir 作为 printDirect 函数的实参,进行函数的调用。
编译运行程序,结果如下:
Please determine a direction: a The direction is LEFT.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论