简体   繁体   English

如何检查 C 中的枚举值?

[英]How do I check the value of an enum in C?

I'm reading through a library and found an enumeration that looks like this:我正在阅读一个图书馆,发现一个看起来像这样的枚举:

typedef enum
{
  IS_SYNCED    = 0;  //Determines if device is in/out of sync
  IS_VALID_REF = 1;  //Determines if device reference is valid
} EVENT;

I'm wondering how the to check what the value of IS_SYNCED would be?我想知道如何检查IS_SYNCED的值是多少?

You can compare enum values with == .您可以将枚举值与==进行比较。

EVENT e = IS_SYNCED;

if(e == IS_SYNCED)
    printf("Is synced event\n");
else if(e == IS_VALID_REF)
    printf("Is valid ref event\n");
else
    printf("Unknown event\n");

prints:印刷:

Is synced event

You can also use switch :您还可以使用switch

EVENT e = IS_SYNCED;

switch(e) {
case IS_SYNCED:
    printf("Is synced event\n");
    break;
case IS_VALID_REF:
    printf("Is valid ref event\n");
    break;
default:
    printf("Unknown event\n");
    break;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM