新手题 指针作为函数形参使最大最小数对调 有大佬能看看哪里错了么?
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:①输入10个数;②进行处理;③输出10个数。所有函数的参数均用指针。我的代码如下,是哪个环节的问题呢,指针不是很懂
#include <stdio.h>
#include <stdlib.h>
void In(int *b);
void Swap(int *x,int *y);
void Out (int *b);
int main()
{
int x[10];
int *b=x;
In(b);
int k=0,K=9;
for(int j=0;j<10;j++)
{
if(x[k]>x[j]) {k=j;}
}
for(int g=0;g<10;g++)
{
if(x[K]<x[g]) {K=g;}
}
if(k!=0) Swap(&x[0],&x[k]);
if(K!=9) Swap(&x[9],&x[K]);
Out(b);
return 0;
}
void In(int *b)
{
int x[10];
for(int i=0;i<10;i++)
{
scanf("%d",&x[i]);
}
b=x;
}
void Swap(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void Out(int *b)
{
int y[10];
b=y;
for(int i=0;i<10;i++)
{
printf("%d ",y[i]);
}
}
输出了10个奇奇怪怪的数字。。