我对下面的 if_even
函数有点困惑。返回类型FLAGS如何?这看起来很奇怪 - 枚举不是像 #define
那样只是多个整数的列表吗?
enum flag_o_e {EVEN, ODD};
enum flag_o_e test1;
typedef enum flag_o_e FLAGS;
FLAGS if_even(int n);
main()
{
int x;
FLAGS test2;
printf("input an integer: "); scanf("%d", &x);
test2 = if_even(x);
if (test2 == EVEN)
printf("test succeeded (%d is even)\n", x);
else
printf("test failed (%d is odd)\n", x);system("pause");
}
FLAGS if_even(int n)
{
if (n%2)
return ODD;
else
return EVEN;
}
我很感激任何提示或建议。
最佳答案
实际上,枚举是一种新类型。它不仅仅是 int 的一些别名。 (不过,它可以与 int 相互转换。)
关于c - 此 C 代码如何返回枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560086/