2 回答
TA贡献1866条经验 获得超5个赞
修改后:
#include <stdio.h>
int fun1(int x,int y);
int fun2(int x,int y);
int fun(bool flag,int a,int b);
void main()
{
bool flag=false;
int a,b,c;
printf("请输入两个整数:\n");
scanf("%d%d",&a,&b);
c=fun(flag,a,b);
printf("max=%d\n",c);
flag = true;
c=fun(flag,a,b);
printf("max=%d\n",c);
}
int fun(bool flag,int a,int b)
{
if(flag)
{
return fun1(a,b);
}
else
{
return fun2(a,b);
}
}
int fun1(int x,int y)
{
int max;
if(x>y) max=x;
else max=y;
return (1);
}
int fun2(int x,int y)
{
int t;
t=x;
x=y;
y=t;
return 0;
}
TA贡献1799条经验 获得超8个赞
typedef int (*fun_ptr)(int,int);
int fun1(int x, int y)
{
...
return 0;
}
int fun2(int x, int y)
{
....
return 0;
}
void fun(bool flag)
{
fun_ptr ptr;
ptr = flag ? fun1 : fun2;
ptr(x,y);
}
添加回答
举报