不动明王 发表于 2013-11-2 10:50:34

C语言函数返回枚举类型.

#include <stdio.h>

enum a{xa=1, ya=2, za=3};

enum b{xb=4, yb=5, zb=6};

enum a My_function(void)
{
   printf("使用A\n");
   return xb;
}

int main(void)
{
    My_function();为什么函数声明返回类型为enum a,但是实际返回类型是enum b,编译器不会报错,而是正确运行,我用的是VC6.0

北林之中 发表于 2013-11-2 13:19:40

枚举元素按照常理处理,试着运行了这个程序,定义了enum a枚举类型的变量nn,将上面My_function的值赋给了nn,然后打印出来,可以运行,也输出nn的值为4,在这里就感觉奇怪,书上有说“变量的值只限于列举出来的值的范围内”,是书上错了?还是理解错了?求大神指导。
页: [1]
查看完整版本: C语言函数返回枚举类型.