int fun(int* w,int p,int n);
int main(void)
{
int j=0;
int k=0;
int w[100];
int p=0;
int n=0;
printf("请输入数据到数组中\n");
for(j=0;j<100;j++)
{
scanf("%d",&w[j]);
n++;
if(getchar()=='\n')
{
break;
}
}
printf("请输入p的值\n");
scanf("%d",&p);
fun(w,p,n);
for(k=0;k<j+1;k++)
{
printf("%5d",w[k]);
}
printf("\n");
return 0;
}
int fun(int* w,int p,int n)
{
int i=0;
int temp=0;
for(i=0;i<n-p;i++)
{
temp=w[p+i];
w[p+i]=w[i];
w[i]=temp;
}
return 0;
}
这是整个程序,子函数在下面,你原来的函数中数组交换不能直接赋值,会被覆盖的,要通过中间变量;
[此贴子已经被作者于2018-3-21 20:04编辑过]