先看:

#include <stdio.h>

int main()
{
	int Red = 0;
	int Green = 1;
	int Blue = 2;

	printf("%d\n", Red);
	printf("%d\n", Green);
	printf("%d\n", Blue);

	return 0;
}

       下面用宏定义实现:

 

#include <stdio.h>
#define RED 0
#define GREEN 1
#define BLUE 2

int main()
{
	printf("%d\n", RED);
	printf("%d\n", GREEN);
	printf("%d\n", BLUE);

	return 0;
}

       最后看看用枚举类型如何来实现:

 

 

#include <stdio.h>

typedef enum
{
	Red,
	Green,
	Blue
}Color;

int main()
{
	printf("%d\n", Red);
	printf("%d\n", Green);
	printf("%d\n", Blue);

	return 0;
}

 

    最后来欣赏两个程序:

 

 

#include <stdio.h>

void print(int flag)
{
	if(0 == flag)
		printf("red\n");
	if(1 == flag)
		printf("green\n");
	if(2 == flag)
		printf("blue\n");


}

int main()
{
	print(0);
	print(1);
	print(2);

	return 0;
}

 

#include <stdio.h>

typedef enum
{
	Red,
	Green,
	Blue
}Color;

void print(Color c)
{
	if(Red == c)
		printf("red\n");
	if(Green == c)
		printf("green\n");
	if(Blue == c)
		printf("blue\n");

}

int main()
{
	print(Red);
	print(Green);
	print(Blue);

	return 0;
}

      可见,用枚举,程序的意义更清晰,更好。

 

      在C语言中,没有bool类型,那怎么办呢?

 

#include <stdio.h>

typedef enum
{
	FALSE,
	TRUE
}BOOL;

BOOL isPositive(int n)
{
	if(n > 0)
		return TRUE;

	return FALSE;
}

int main()
{
	int a = 1;
	if(isPositive(a))
		printf("positive\n");
	else
		printf("not\n");

	return 0;
}

 

 

 

 

 

 


本文转载:CSDN博客