浩宇 发表于 2012-3-4 03:00:59

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

题目;求输入两个数,没次调用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;
}

仰望天上的光 发表于 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;
}

嗜血灵异狂 发表于 2012-3-4 05:53:45

输出函数都调用错误不运行出错都怪了 printf你写个什么 pirntf

276691146 发表于 2012-3-4 08:17:13

要改的地方貌似很多,首先,函数声明要放在前面,有个printf写错了,还有,process就算算了max min mid也没有输出的样子。。总体感觉怪怪地。

浩宇 发表于 2012-3-5 05:06:59

谢谢你的帮助

key2046 发表于 2017-1-11 16:29:16

要改的地方貌似很多,首先,函数声明要放在前面,有个printf写错了,还有,process就算算了max min mid也没有输出的样子。。总体感觉怪怪地。
页: [1]
查看完整版本: 汇编没事,运行出错,求帮帮忙