为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请问如何写一个函数,让该函数有参数有flag!

您好,请问如何写一个函数,让该函数有参数有flag!

慕容森 2021-07-04 10:06:01
#include <stdio.h>void main(){int fun1(int x,int y);int fun2(int x,int y);void fun(bool flag);int flag;int a,b,c;printf("请输入两个整数:\n");scanf("%d%d",&a,&b);if (flag)  { (*fun1)(a,b); c=fun1(a,b);printf("max=\n",c);}  else  { (*fun2)(a,b); c=fun2(a,b);printf("a=%d,b=%d\n",c);}}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;}
查看完整描述

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;
}



查看完整回答
反对 回复 2021-07-11
?
守着星空守着你

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



查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 287 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信