函數指針數組的用途---轉移表

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Menu()
{
	int choice = 0;
	printf("1.Add\n");
	printf("2.Sub\n");
	printf("3.Mul\n");
	printf("4.Div\n");
	printf("請輸入您的選擇:");
	scanf("%d",&choice);
	return choice;
}
int Add(int x, int y)
{
	return x + y;
}
int Sub(int x, int y)
{
	return x - y;
}
int Mul(int x, int y)
{
	return x * y;
}
int Div(int x, int y)
{
	return x / y;
}
typedef int(*pfunc)(int a, int b);
void Run()
{
	int choice = Menu();
	pfunc arr[] = { Add, Sub, Mul, Div };
	pfunc func = arr[choice - 1];
	int a = 0;
	int b = 0;
	printf("請輸入a b 的值:");
	scanf("%d %d", &a, &b);
	printf("%d\n", func(a, b));
}
int main()
{
	Run();
	system("pause");
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章