#include <stdio.h>
#include <stdlib.h>
#define FLAG1 1
#define FLAG2 2
#define FLAG3 4
#define FLAG4 8
#define FLAG5 16
#define FLAG6 32
#define FLAG7 64
#define FLAG8 128
int foo(int flags)
{
if(flags&FLAG1)
printf("FLAG1\n");
if(flags&FLAG2)
printf("FLAG2\n");
if(flags&FLAG3)
printf("FLAG3\n");
if(flags&FLAG4)
printf("FLAG4\n");
if(flags&FLAG5)
printf("FLAG5\n");
if(flags&FLAG6)
printf("FLAG6\n");
if(flags&FLAG7)
printf("FLAG7\n");
if(flags&FLAG8)
printf("FLAG8\n");
return flags;
}
int main(int argc, char *argv[])
{
foo(FLAG3|FLAG5|FLAG8);
system("PAUSE");
return 0;
}
在读源代码时常常看到用 |或操作很多常量。所以我想了想,举了个例子。想问问大侠,一般是这样用吗?还有没有更简单的用法。比哪if用case代替等等。如果有的话。给举个小例子吧。谢谢!