#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int arr[n]={0};
max_min(arr);
return 0;
}
void max_min(int a[],int n,int *pamx,int *pmin)
{
int i,j=0,t=0;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<=a[j])
t=a[i];
a[i]=a[j];
a[j]=a[i];
}
}
pamx=&a[0];
pmin=&a[n-1];
printf("%d\n",*pamx);
printf("%d\n",*pmin);
}
为啥函数不可已用,可以写一下代码吗?
你这个能通过编译麻
1、你的函数在定义之前使用,需要再前面声明一下
2、函数调用是参数传递不对,
3、函数定义时写的不太对,*pamx, *pmin应该在函数内部定义,而不是由参数传入。
代码修改如下,我的编译器不能定义含变量的数组,也没运行过,你试试行不行:
#include<stdio.h>
void max_min(int a[], int n);
int main()
{
int n;
scanf("%d", &n);
int arr[n] = { 0 };
max_min(arr,n);
return 0;
}
void max_min(int a[], int n)
{
int *pamx, *pmin;
int i, j = 0, t = 0;
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (a[i] <= a[j])
t = a[i];
a[i] = a[j];
a[j] = a[i];
}
}
pamx = &a[0];
pmin = &a[n - 1];
printf("%d\n", *pamx);
printf("%d\n", *pmin);
}