你说的是函数指针吗?
给个示例程序
#include
void main()
{
int max(int, int);
int min(int, int);
int add(int, int);
void process(int, int, int (*fun)(int,int));
int a, b;
printf("enter a and b:");
scanf("%d %d", &a, &b);
printf("max = " );
process(a, b, max);
printf("min = ");
process(a, b, min);
printf("sum = ");
process(a, b, add);
}
int max(int x, int y)
{
int z;
if (x > y)
{z = x;}
else
{z = y;}
return z;
}
int min(int x, int y)
{
int z;
if (x < y)
{ z = x;}
else
{ z = y;}
return z;
}
int add(int x, int y)
{
int z;
z = (x + y);
return z;
}
void process(int x, int y, int(*fun)(int, int))
{
int result;
result = (*fun) (x, y);
printf("%d\n", result);
}
#include
#include
void f1()
{
printf("函数1");
}
void f2()
{
printf("函数2");
}
void f3()
{
printf("函数3");
}
int main()
{
void (*pf[])()={f1,f2,f3};
int c=0;
while(getch()!='q')
{
(pf[c++%3])();
printf("\n");
}
}
你是说的菜单么?
可以选着的那种?
switch 那种?