鱼C论坛

 找回密码
 立即注册
查看: 2667|回复: 5

这个实现调用一个函数,实现找最大,最小,和值的程序不晓得哪里出错了,无法实现

[复制链接]
发表于 2014-9-20 10:20:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
#include <stdio.h>

int max(int i,int j)
{
        int k;

        if(i>j)
        {
                k=i;
        }
        else
        {
                k=j
        }
        return k;
}

int mix(int i,int j)
{
        int k;

        if(i<j)
        {
                k=i;
        }
        else
        {
                k=j;
        }
        return k;
}

int add(int i,int j)
{
        int k;

        k=i+j;

        return k;
}




int main()
{
        int i,j;
       
        int max(int ,int );
        int mix(int ,int );
        int add(int ,int );

        void process(int x,int y,int(*p)());

        printf("请输入两个数:\n");
        scanf("%d %d",&i,&j);
       
        printf("最大值是");
        process(i,j,max);
       
        printf("最小值是");
        process(i,j,mix);
       
        printf("两数和是");
        process(i,j,add);

        return 0;
}

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-9-21 17:16:40 | 显示全部楼层
本帖最后由 ●初晨猛胾● 于 2014-9-21 17:18 编辑

你主要是对函数的调用这块出错了,你比较一下我俩的代码,你就能发现你试一下我这个
  1. #include<stdio.h>
  2. int max(int a,int b)
  3. {
  4.         int k;
  5.         if(a>b)
  6.         {
  7.                 k=a;
  8.         }
  9.         else k=b;
  10.         return k;
  11. }
  12. int min(int a,int b)
  13. {
  14.         int k;
  15.         if(a<b)
  16.         {
  17.                 k=a;
  18.         }
  19.         else k=b;
  20.         return k;
  21.         
  22. }
  23. int add(int a,int b)
  24. {
  25.         int k;
  26.         k=a+b;
  27.         return k;
  28. }
  29. void main()
  30. {
  31.         
  32.         int add(int a,int b);
  33.         int min(int a,int b);
  34.         int max(int a,int b);
  35.         int a,b;
  36.         printf("请输入两个数,中间用逗号隔开:\n");
  37.         scanf("%d,%d",&a,&b);
  38.         printf("最大数是:%d\n",max(a,b));
  39.         printf("最小的数是:%d\n",min(a,b));
  40.         printf("两个数的和是:%d\n",add(a,b));
  41. }
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-21 19:22:37 | 显示全部楼层
  1. #include <stdio.h>

  2. int max(int i,int j)
  3. {
  4.         int k;       
  5.         if(i>j)
  6.         {
  7.                 k=i;
  8.         }
  9.         else
  10.         {
  11.                 k=j;
  12.         }
  13.         return k;
  14. }
  15. int mix(int i,int j)
  16. {
  17.         int k;
  18.        
  19.         if(i<j)
  20.         {
  21.                 k=i;
  22.         }
  23.         else
  24.         {
  25.                 k=j;
  26.         }
  27.         return k;
  28. }
  29. int add(int i,int j)
  30. {
  31.         int k;
  32.         k=i+j;
  33.         return k;
  34. }

  35. //&frac14;&Oacute;&Eacute;&Iuml;&Otilde;&acirc;&cedil;&ouml;&ordm;&macr;&Ecirc;&yacute;&para;¨&Ograve;&aring;
  36. void process(int x,int y,int(*p)(int, int))
  37. {
  38.         printf("%d\n",p(x,y));
  39. }

  40. int main()
  41. {
  42.         int i,j;       
  43.         int max(int ,int );
  44.         int mix(int ,int );
  45.         int add(int ,int );       
  46.         //void process(int x,int y,int(*p)());//&ETH;&THORN;&cedil;&Auml;&Otilde;&acirc;&cedil;&ouml;&ordm;&macr;&Ecirc;&yacute;&micro;&Auml;&Eacute;ù&Atilde;÷
  47.         void process(int x,int y,int(*p)(int, int));
  48.        
  49.         printf("&Ccedil;&euml;&Ecirc;&auml;&Egrave;&euml;&Aacute;&frac12;&cedil;&ouml;&Ecirc;&yacute;:\n");
  50.         scanf("%d %d",&i,&j);
  51.        
  52.         printf("×&icirc;&acute;ó&Ouml;&micro;&Ecirc;&Ccedil;");
  53.         process(i,j,max);
  54.        
  55.         printf("×&icirc;&ETH;&iexcl;&Ouml;&micro;&Ecirc;&Ccedil;");
  56.         process(i,j,mix);
  57.        
  58.         printf("&Aacute;&frac12;&Ecirc;&yacute;&ordm;&Iacute;&Ecirc;&Ccedil;");
  59.         process(i,j,add);
  60.        
  61.         return 0;
  62. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-9-22 10:50:24 From FishC Mobile | 显示全部楼层
●初晨猛胾● 发表于 2014-9-21 17:16
你主要是对函数的调用这块出错了,你比较一下我俩的代码,你就能发现你试一下我这个

你没懂我的意思,这个例题是小甲鱼视频里面关于指针那章一个问题,要达到调用同一个函数process达到求最大最小和和值的作用,你这个里面是分别用的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-22 10:55:32 From FishC Mobile | 显示全部楼层
仰望天上的光 发表于 2014-9-21 19:22

额,我还是没看到我错在哪里额
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-22 13:24:28 | 显示全部楼层
定义max函数时,有一个赋值语句丢分号了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-14 17:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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