我可以在C中使用符号(例如(*,/,&,^))作为枚举吗?

时间:2015-06-09 16:16:14

标签: c

我想在C中使用枚举类型。我知道如何使用它们但我有一个问题。我有一个这样的例子

enum S { A,B,C,G };

我知道这有效,但我可以这样做吗?

enum S {^,*,/,%};

感谢您的时间。

3 个答案:

答案 0 :(得分:2)

没有。您只能在C中的标识符(变量,函数和类型名称)中使用字母数字字符和下划线。标识符不能以数字开头。此外,您无法使用某些保留关键字。

http://www.cprogrammingexpert.com/C/Tutorial/fundamentals/identifiers.aspx

答案 1 :(得分:1)

没有。但是,您可以这样做:

enum S
{ CARET = '^',
  STAR = '*',
  SLASH = '/',
  PERCENT = '%'
};

int foo()
{ enum S somevar = CARET;
  // ....
  if (somevar == PERCENT)
    // ....
}

不确定这对你想要做的事情是否有用,但是,因为你并没有给予任何背景......

答案 2 :(得分:0)

ANSI C specification表示您可以使用" OrdinaryIdDef"对于枚举...所以它遵循相同的规则 - 例如 - 变量&功能名称