鱼C论坛

 找回密码
 立即注册
查看: 445|回复: 7

请问错在哪里了

[复制链接]
最佳答案
0 
发表于 2018-2-13 19:24:01 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
设置一个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);
}
void  process(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;
}
最佳答案
913 
发表于 2018-2-13 20:38:23 | 显示全部楼层
请问错在哪里了 ?????????????????? 2018-02-13_203538.png
最佳答案
4 
发表于 2018-2-14 04:12:44 From FishC Mobile | 显示全部楼层
函数声明错了,带上参数类型,声明不要写在main函数里面
最佳答案
0 
 楼主| 发表于 2018-2-14 09:56:07 | 显示全部楼层
[img]
最佳答案
0 
 楼主| 发表于 2018-2-14 09:58:51 | 显示全部楼层
ba21 发表于 2018-2-13 20:38
请问错在哪里了 ??????????????????

你是用我的代码运行的吗? 我自己运行输入2,3后显示 min与max显示为-858993460和-858993458
最佳答案
913 
发表于 2018-2-14 18:06:24 | 显示全部楼层
我是太阳lyj 发表于 2018-2-14 09:58
你是用我的代码运行的吗? 我自己运行输入2,3后显示 min与max显示为-858993460和-858993458

是的
最佳答案
913 
发表于 2018-2-14 18:06:39 | 显示全部楼层
wjp 发表于 2018-2-14 04:12
函数声明错了,带上参数类型,声明不要写在main函数里面

声明可以写main函数里
最佳答案
4 
发表于 2018-2-15 06:20:04 From FishC Mobile | 显示全部楼层
感觉你的声明怪怪的  void process(int x,int y,int(*fun)());  int (*fun)()没参数这样行吗?scanf("%d,%d",&a,&b)还有就是%d,%d多了个逗号
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-8-16 14:35

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表