鱼C论坛

 找回密码
 立即注册
查看: 2866|回复: 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;
}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-3-4 03:01:00 | 显示全部楼层
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         int max(int, int);
  5.         int min(int, int);
  6.         int add(int, int);
  7.         //void process(int, int, int(*fun)());
  8.         int process(int, int, int(*fun)());
  9.         int a, b;
  10.         //pirntf("Endter a and b: ");
  11.         printf("Endter a and b: ");
  12.         scanf("%d %d", &a, &b);
  13.         //printf("max = ");
  14.         printf("max = %d\n",process(a, b, max));
  15.         //process(a, b, max);
  16.         //printf("min = ");
  17.         printf("min = %d\n",process(a, b, min));
  18.         //process(a, b, min);
  19.         //printf("sum = ");
  20.         printf("sum = %d\n",process(a, b, add));
  21.         //process(a, b, add);
  22. }
  23. //void process(int x, int y, int(*fun)())
  24. int process(int x, int y, int(*fun)())
  25. {
  26.         static int i = 1;
  27.         i = i + 1;
  28.    
  29.         //if(i = 2)
  30.         if(i == 2)
  31.         {
  32.                 //max(x, y);
  33.                 return max(x, y);
  34.         }
  35.         //if(i = 3)
  36.         if(i == 3)
  37.         {
  38.                 //min(x, y);
  39.                 return min(x, y);
  40.         }
  41.         //if(i = 4)
  42.         if(i == 4)
  43.         {
  44.                 //add(x, y);
  45.                 return add(x, y);
  46.         }
  47.         return -8;
  48. }
  49. int max(int a, int b)
  50. {
  51.         int z;
  52.         if(a > b)
  53.                 z = a;
  54.         else
  55.                 z = b;
  56.         return z;
  57. }
  58. int min(int a, int b)
  59. {
  60.         int z;
  61.         if(a < b)
  62.                 z = a;
  63.         else
  64.                 z = b;
  65.         return z;
  66. }
  67. int add(int a, int b)
  68. {
  69.         int z;
  70.         z = a + b;
  71.         return z;
  72. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-3-4 05:53:45 | 显示全部楼层
输出函数都调用错误  不运行出错都怪了 printf  你写个什么 pirntf  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2012-3-5 05:06:59 | 显示全部楼层
谢谢你的帮助
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 23:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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