C语言 指针 求助
语法好像没错误,就是执行的时候有错误,我感觉是void max_min_value(int*p)错误,但目前找不到,求助!!
题目:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理(3)输出10个数。
主函数如下
main(){
int number[10];
input(number);
max_min_value(number);
output(number);
}
【要求】利用指针变量作函数参数
#include<stdio.h>
void input(int *p)
{
int i,a[10];
p=a;
printf("请输入十个整数\n");
for(i=0;i<10;i++,p++)
scanf("%d",p);
//p++ p移一位
}
void max_min_value(int*p)
{
int i,min,max,m,n;
min=0;
max=0;
for(i=0;i<10;i++)
{if(p[i]<min)
min=p[i];}
m=p[0];
p[0]=p[i];
p[i]=m;
for(i=0;i<10;i++)
{if(p[i]>max)
max=p[i];}
n=p[9];
p[9]=p[i];
p[i]=n;
}
void output(int*p)
{
int i;
for(i=0;i<10;i++,++p)
printf("%d ",*p);
}
int main()
{
int number[10];
input(number);
max_min_value(number);
output(number);
return 0;
}