#include<stdio.h>
int main()
{
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
};
int mix(int x;int y)
{
int z;
z=x<y?x:y;
return z;
};
int add(int x,int y)
{
int z;
z=x+y;
return z;
};
int process(int x,int y,int(*fun)(int,int))
{
int z;
if(*fun==max)
{
z=max(int,int);
}
else if(*fun==min)
{
z=min(int,int);
}
else
{
z=add(int,int);
};
return z;
}
int a,b;
printf("请输入俩个数");
scanf("%d %d",&a,&b);
printf("max=");
process(a,b,max);
printf("min=");
process(a,b,min);
printf("add=");
process(a,b,add);
return 0;
}
找不到报错原因,大家一起来看看
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
Pliosauroidea 2021-10-10 16:37关注修改后如下
#include <stdio.h> int max(int x, int y) { int z; z = x > y ? x : y; return z; }; int min(int x, int y) { int z; z = x < y ? x : y; return z; }; int add(int x, int y) { int z; z = x + y; return z; }; int process(int x, int y, int (*fun)(int, int)) { int z; if (*fun == max) { z = max(x, y); } else if (*fun == min) { z = min(x, y); } else { z = add(x, y); }; return z; } int main() { int a, b; printf("请输入俩个数"); scanf("%d %d", &a, &b); printf("max="); process(a, b, max); printf("min="); process(a, b, min); printf("add="); process(a, b, add); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用