c语言按键多功能 当第一次按下执函数行一个子函数,第二次按下又执行另一字函数,第三次按下执行另一个

2024-11-29 10:27:27
推荐回答(3个)
回答1:

你说的是函数指针吗?

给个示例程序
#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);
}

回答2:

#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");
}
}

回答3:

你是说的菜单么?
可以选着的那种?
switch 那种?