鱼C论坛

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

汇编没事,运行出错,求帮帮忙

[复制链接]
发表于 2012-3-4 03:00:59 | 显示全部楼层 |阅读模式
1鱼币
题目;求输入两个数,没次调用Process是都有不同的功能
#include <stdio.h>
void main()
{
int max(int, int);
int min(int, int);
int add(int, int);
void process(int, int, int(*fun)());
int a, b;
pirntf("Endter a and b: ");
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)())
{
static int i = 1;
i = i + 1;
   
if(i = 2)
{
  max(x, y);
}
if(i = 3)
{
  min(x, y);
}
if(i = 4)
{
  add(x, y);
}

}
int max(int a, int b)
{
int z;
if(a > b)
  z = a;
else
  z = b;
return z;
}
int min(int a, int b)
{
int z;
if(a < b)
  z = a;
else
  z = b;
return z;
}
int add(int a, int b)
{
int z;
z = a + b;
return z;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-4 03:01:00 | 显示全部楼层
#include <stdio.h>
void main()
{
        int max(int, int);
        int min(int, int);
        int add(int, int);
        //void process(int, int, int(*fun)());
        int process(int, int, int(*fun)());
        int a, b;
        //pirntf("Endter a and b: ");
        printf("Endter a and b: ");
        scanf("%d %d", &a, &b);
        //printf("max = ");
        printf("max = %d\n",process(a, b, max));
        //process(a, b, max);
        //printf("min = ");
        printf("min = %d\n",process(a, b, min));
        //process(a, b, min);
        //printf("sum = ");
        printf("sum = %d\n",process(a, b, add));
        //process(a, b, add);
}
//void process(int x, int y, int(*fun)())
int process(int x, int y, int(*fun)())
{
        static int i = 1;
        i = i + 1;
    
        //if(i = 2)
        if(i == 2)
        {
                //max(x, y);
                return max(x, y);
        }
        //if(i = 3)
        if(i == 3)
        {
                //min(x, y);
                return min(x, y);
        }
        //if(i = 4)
        if(i == 4)
        {
                //add(x, y);
                return add(x, y);
        }
        return -8;
}
int max(int a, int b)
{
        int z;
        if(a > b)
                z = a;
        else
                z = b;
        return z;
}
int min(int a, int b)
{
        int z;
        if(a < b)
                z = a;
        else
                z = b;
        return z;
}
int add(int a, int b)
{
        int z;
        z = a + b;
        return z;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 05:53:45 | 显示全部楼层
输出函数都调用错误  不运行出错都怪了 printf  你写个什么 pirntf  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 08:17:13 | 显示全部楼层
要改的地方貌似很多,首先,函数声明要放在前面,有个printf写错了,还有,process就算算了max min mid也没有输出的样子。。总体感觉怪怪地。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-3-5 05:06:59 | 显示全部楼层
谢谢你的帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-11 16:29:16 | 显示全部楼层
要改的地方貌似很多,首先,函数声明要放在前面,有个printf写错了,还有,process就算算了max min mid也没有输出的样子。。总体感觉怪怪地。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-27 19:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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