学习代师 发表于 2021-2-28 17:55:09

改成指针做参数

#include <stdio.h>
int max, min;

void h(int a[], int n);

void main()
{
    int i,number;
    printf("输入10个数");
    for(i = 0;i < 10; i++)
    {
      scanf("%d", &number);
    }
    h(number, 10);
    printf("\nmax=%d, min=%d\n",max,min);
}

void h(int a[], int n)
{
    int *p, *array_end;
    array_end = a + n; //总数量
    max = min = *a;   
    for(p = a + 1;p < array_end; p++)
    {
      if(*p > max)
      {
            max = *p;
      }
      else if(*p < min)
      {
            min = *p;
      }
    }
}
谢谢啦!

巴巴鲁 发表于 2021-2-28 18:12:25


#include <stdio.h>
int max, min;

void h(int a[], int n);

void main()
{
    int i,number;
    printf("输入10个数");
    for(i = 0;i < 10; i++)
    {
      scanf("%d", &number);
    }
    h(number, 10);
    printf("\nmax=%d, min=%d\n",max,min);
}

void h(int *a, int n) // 把这里改一下就行,刚开始给的参数其实就是number数组的首地址
{
    int *p, *array_end;
    array_end = a + n; //总数量
    max = min = *a;   
    for(p = a + 1;p < array_end; p++)
    {
      if(*p > max)
      {
            max = *p;
      }
      else if(*p < min)
      {
            min = *p;
      }
    }
}
页: [1]
查看完整版本: 改成指针做参数