why it do ont work?

u013163178 2014-10-17 05:23:05
我在linux在学习编程,不熟悉gdb调试,不知道这个代码为什么不能正常工作,希望大家能能指点迷津,提湖广顶,或者说怎么调试,大家的一句话可能使我茅厕顿开。
/*************************************************************************
> File Name: max_min.c
> Author: Jukay
> Mail: hellojukay@gmail.com
> Created Time: 2014年10月17日 星期五 15时29分17秒
************************************************************************/
#include<stdio.h>
int MAX(int A,int B){return (A>B)?A:B; }
int MIN(int A,int B){return (A<B)?A:B; }
int min(int aryy[],int n)
{
int i;
int min =0;
for(i=0; i < n; i++)
min =MIN(min,aryy[i]);
return min;
}
int max(int aryy[],int n)
{
int i;
int max =0;
for(i=0; i < n; i++)
max =MIN(max,aryy[i]);
return max;
}
int main()
{
int test[10]={2,3,5,8,5,2,5,2,8,2};
printf("the max is:%d\n",max(test,10));
printf("the min is:%d\n",min(test,10));
return 0;
}
...全文
120 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
QIUSQJF 2014-10-17
  • 打赏
  • 举报
回复
int min(int aryy[],int n)
{
    int i;
    int    min =0;
    for(i=0; i < n; i++)
        min =MIN(min,aryy[i]);
    return min;
}
int max(int aryy[],int n)
{
    int i;
    int max =0;
    for(i=0; i < n; i++)
        max =MIN(max,aryy[i]);
    return max;
}
都调用的是
MIN(max,aryy[i]);
,而你的 max和min初始化均为0,你传入的数组中的值都大于0,肯定只返回0…… 还有你的
int MAX(int A,int B){return (A>B)?A:B; }
int MIN(int A,int B){return (A<B)?A:B; }
这些A、B都应该用小括号括起来,还有注意命名规范问题!!!
狼异族 2014-10-17
  • 打赏
  • 举报
回复
max =MIN(max,aryy[i]);应该改为max =MAX(max,aryy[i]);

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧