Q:
void func0(void);
void func1(void);
void func2(void);
void func3(void);
void func4(void);
void func5(void);
int MAIN(int N)
{
if(N == 0) 执行func0;
if(N == 1) 执行func1;
if(N == 2) 执行func2;
if(N == 3) 执行func3;
if(N == 4) 执行func4;
if(N == 5) 执行func5;
}
实现以上功能,要求不使用 if 或是 switch 判断语句。
A: 这是函数指针数组的典型应用。
void func0(void);
void func1(void);
void func2(void);
void func3(void);
void func4(void);
void func5(void);
void (*func[6])(void);
int MAIN(int N)
{
func[0] = func0;
func[1] = func1;
func[2] = func2;
...
func[5] = func5;
func[N]();
}