请问错在哪里了
设置一个process函数,在调用他时显示不同的功能,输入a,b,第一次输入时求出a,b中较大者,第二次输入时求出其中较小者,第三次输出时求和。#include<stdio.h>
void main()
{ int a,b;
int max(x,y);
int min(x,y);
int add(x,y);
void process(int x,int y,int(*fun)());
printf("please input two numbers:\n");
scanf("%d,%d",&a,&b);
printf("max=");
process(a,b,max);
printf("min=");
process(a,b,min);
printf("sum=");
process(a,b,add);
}
voidprocess(int x,int y,int (*fun)(int,int))
{
int result;
result=(*fun)(x,y);
printf("%d\n",result);
}
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 p;
if(x>y)
{
p=y;
}
else
{
p=x;
}
return p;
}
int add(int x,int y)
{
int sum;
sum=x+y;
return sum;
} 请问错在哪里了 ?????????????????? 函数声明错了,带上参数类型,声明不要写在main函数里面 ba21 发表于 2018-2-13 20:38
请问错在哪里了 ??????????????????
你是用我的代码运行的吗? 我自己运行输入2,3后显示 min与max显示为-858993460和-858993458 我是太阳lyj 发表于 2018-2-14 09:58
你是用我的代码运行的吗? 我自己运行输入2,3后显示 min与max显示为-858993460和-858993458
是的 wjp 发表于 2018-2-14 04:12
函数声明错了,带上参数类型,声明不要写在main函数里面
声明可以写main函数里 感觉你的声明怪怪的void process(int x,int y,int(*fun)());int (*fun)()没参数这样行吗?scanf("%d,%d",&a,&b)还有就是%d,%d多了个逗号
页:
[1]