指针问题做参数的问题
程序代码:#include <stdio.h>
#define N 5
void input(int *x, int n);
void sort(int *x, int n);
void print(int *x, int n);
main()
{
int a[N];
int *p;
p = a;
input(p, N);
sort(p, N);
print(p, N);
}
void input(int *x, int n)
{
int i, c;
for(i=0; i<n; i++)
{
c = getchar();
*(x+i) = c;
}
}
void sort (int *x, int n)
{
int i, j, k;
for (i=0; i<n-1; i++)
{
k=i;
for (j=i+1; j<n; j++)
{
if (*(x+i)<*(x+k))
k = j;
}
if (k != i)
{
int temp;
temp = *(x+k);
*(x+k) = *(x+i);
*(x+i) = temp;
}
}
}
void print(int *x, int n)
{
int i;
for (i=0; i<n; i++)
{
int c;
c = *(x+i);
putchar(c);
}
}我若是用数组名作参数,似乎可以实现选择法排序,但我想用指针做,改了之后似乎就不行了!求指教!






