请问C语言中,枚举类型能不能作为函数的返回值呢。下面代码为什么提示错误呢

#include <stdio.h>
enum ENUMTEST
{
A,B,C
};
ENUMTEST aaa(int i)
{
if(i==0) return A;
if(i==1) return B;
if(i==2) return C;
}
int main()
{
printf("%d",aaa(1));
}

第1个回答  2012-01-02
#include <stdio.h>
enum ENUMTEST
{
A,B,C
};
enum ENUMTEST aaa(int i)//注意要加原型。类似于你定义int ,float之类的
{
if(i==0) return A;
if(i==1) return B;
if(i==2) return C;
}
int main()
{
printf("%d",aaa(1));
}本回答被提问者采纳
第2个回答  2012-01-02
#include <stdio.h>
enum ENUMTEST
{
A,B,C
};
enum ENUMTEST aaa(int i) //这样
{
if(i==0) return A;
if(i==1) return B;
if(i==2) return C;
}
int main()
{
printf("%d",aaa(1));
}

请问C语言中,枚举类型能不能作为函数的返回值呢。下面代码为什么提示...
enum ENUMTEST aaa(int i)\/\/注意要加原型。类似于你定义int ,float之类的 { if(i==0) return A;if(i==1) return B;if(i==2) return C;} int main(){ printf("%d",aaa(1));}

C语言中,整个数组可以作为函数的返回值吗?
不行,C++中 数组和枚举都是不可以作为函数的返回类型来返回的,假如您想要实现返回数组,您可以声明一个结构,里面包含数组或者枚举类型,然后返货这个结构类型或者指针 曾经有本很经典的书就笑谈到(貌似是《C++primer puls》):C和C++不允许返回数组却可以返货带数组的结构体,这不是自己打自己巴掌么...

C语言中枚举可以作为函数的参数吗,求大神解答
可以 include "stdafx.h"include <stdio.h> enum Enum_Struct { ENUM_NUM0,ENUM_NUM1,ENUM_NUM2,ENUM_NUM3,ENUM_NUM4 };void Func(Enum_Struct *err){ if((*err) == ENUM_NUM3){ printf("%d\\n",ENUM_NUM3);};} void main(){ Enum_Struct obj = ENUM_NUM3;Func(&obj);} ...

关于C语言中枚举类型 枚举变量可以赋值为不在范围内的值吗?如下边的...
的变量color 只能取值为花括号内的任何一个值,如果赋给该类型变量的值不在列表中,则会报错。我看了一下你提供的教学视频,他是在ubuntu系统下编译的,linux的编译器肯定有所不同。据我所知,变量值超出范围在microsoft的编译器这边都会报错。上面所说的强制转换:一个原本不是color_type类型的变量被...

C语言中,为什么会报这样的错?
1、一般是你在调用函数的时候传递的是int类型的数据,但那个函数定义的参数类型不是int(比如是结构或者指针或者数组)。2、下面为C语言的错误大全及中文解释:1: Ambiguous operators need parentheses — 不明确的运算需要用括号括起2: Ambiguous symbol xxx — 不明确的符号3: Argument list syntax error — 参数表...

C语言中关于枚举类型
在C语言中,枚举值是常量,不能被重新赋值。例如,尝试对枚举元素进行赋值,如`sun=5`或`sun=mon`,都是不允许的。正确的方式是将枚举值赋给枚举变量,如`a=sun`。另外,虽然枚举元素有自己的数值,但它们不是字符常量,不能直接用数字赋值,需要通过强制类型转换,如`a=(enum weekday)2`等同于...

C语言有什么问题啊?
首先帮你解释一下,enum 类型是枚举类型,red,yellow,blue等叫做枚举常量,由用户自定义值。在这题中你犯的主要错误是printf函数的输出格式错误。printf函数的规范输出格式为printf(格式控制,输出表列)。其中格式控制可以是“%d\\n"这种,也可以是”hello“直接的字符串这种,而输出表列是需要输出的数据...

C语言中的枚举类型
枚举元素在C语言中被视为常量,因此你不能给它们赋值,如 `sun = 7;` 是错误的。每个枚举元素都有自己的值,这个值从0开始自动递增,除非你在声明时指定了值。枚举值可以用于比较和判断,例如:```c if (day == mon) { \/\/ ...} ```然而,你不能直接将一个整数赋值给枚举变量,例如 `...

C语言中的枚举类型
C语言编译按定义时的顺序使它们的值为0、1、2……也可以在定义时,指定枚举元素的值,例如:3、枚举值可以用来作判断比较。例如:4、一个证书不能直接赋值给一个枚举变量。例如 workday=1; 是错误的。它们属于不同的类型。应该先进性强制类型转换,然后才能赋值。例如:相当于将序号为2的枚举元素...

c语言中enum类型的用法!
枚举类型变量的赋值和使用:1. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值:sun=5; mon=2; sun=mon;都是错误的。2. 枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…...

相似回答