c语言,用VC++6.0编写的下列程序:
#include<stdio.h>
void main()
{
void sort(int x[],int n);
int * p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",* p++);
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{
printf("%d ",*p);
p++;
}
}
void sort(int x[],int n)
{
int i,j,k,t;
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!=j)
{
t=x[i];
x[i]=x[k];
x[k]=t;
}
}
}
编译时,没有错误
执行后,输入了10个整数,按Enter键以后,显示
最后显示
没有执行我要的排序命令,只是输出了我输入的10个整数,只是在编写的程序中带有指针变量类型符号 * 的就会出现这种情况,这事怎么回事呢?