求解释代码,没看懂。“enum animal select(void)”和“switch (selected = select())”中的selected = select()”,“enum animal select(void)”这是枚举函数(猜测的)?那函数名是“enum animal select”,还是“select”?枚举函数要带上enum和枚举名?
/*
显示所选动物的叫声
*/
#include <stdio.h>
enum animal { Dog, Cat, Monkey, Invalid };
/*--- 狗叫 ---*/
void dog(void)
{
puts("汪汪!!");
}
/*--- 猫叫 ---*/
void cat(void)
{
puts("喵~!!");
}
/*--- 猴叫 ---*/
void monkey(void)
{
puts("唧唧!!");
}
/*--- 选择动物 ---*/
enum animal select(void)
{
int tmp;
do {
printf("0···狗 1···猫 2···猴 3···结束:");
scanf("%d", &tmp);
} while (tmp < Dog || tmp > Invalid);
return tmp;
}
int main(void)
{
enum animal selected;
do {
switch (selected = select()) {
case Dog : dog(); break;
case Cat : cat(); break;
case Monkey : monkey(); break;
}
} while (selected != Invalid);
return 0;
}
函数名是 select()
animal 是返回值,enum 可加可不加