学C要命 发表于 2020-2-26 21:14:16

找个大佬帮忙,该程序是求这组数中最大值最小值,函数能输出正确结果,但主函数不...


#include <stdio.h>
void max_min_value(int a[],int n);
int max,min;
main()
{
        int a={3,7,9,11,1,6,7,5,4,2};
        max_min_value(a,10);
        printf("max=%d min=%d\n",max,min);
}

void max_min_value(int a[], int n)
{
        int max,min,i;
        max=min=a;       
        for(i=0;i<10;i++)
        {
                if(max<a)
                {max=a;}
                else if(min>a)
                {min=a;}
        }
}

zltzlt 发表于 2020-2-26 21:15:31

你想问什么?

学C要命 发表于 2020-2-26 21:19:22

zltzlt 发表于 2020-2-26 21:15
你想问什么?

这个主函数没办法输出正确的MAX MIN

zltzlt 发表于 2020-2-26 21:22:56

局部变量 max、min 和全局变量 max、min 冲突了,试试这样:

#include <stdio.h>
void max_min_value(int a[], int n);
int max, min;
main()
{
    int a = {3, 7, 9, 11, 1, 6, 7, 5, 4, 2};
    max_min_value(a, 10);
    printf("max=%d min=%d\n", max, min);
}

void max_min_value(int a[], int n)
{
    int i;
    max = min = a;
    for (i = 0; i < n; i++)
    {
      if (max < a)
      {
            max = a;
      }
      else if (min > a)
      {
            min = a;
      }
    }
}

学C要命 发表于 2020-2-26 21:25:32

zltzlt 发表于 2020-2-26 21:22
局部变量 max、min 和全局变量 max、min 冲突了,试试这样:

啊啊啊,OK了,谢谢
页: [1]
查看完整版本: 找个大佬帮忙,该程序是求这组数中最大值最小值,函数能输出正确结果,但主函数不...