谁能帮解释下谢谢
程序功能:从键盘输入一个数,插入到已经按降序排列的数组中,要求插入后的数组仍然有序#include<stdio.h>
void myinsert(int a[],int n,int x)
{
int *p,*q;
for(p=&a[n],q=p-1;*q<x;p--,q--)/*这个循环看不懂谁能解释下谢谢*/
*p=*q;
*p=x; /*这里两句也看不懂*/
return n+1;
}
void myout(int *a,int n)
{
while(n>0)
{
printf("%4d",*a);
a++;
n--;
}
printf("\n");
}
main()
{
int a[11]={20,18,16,14,12,10,8,6,4,2},n,k;
clrscr();
printf("inserted before:");
myout(a,10);
printf("Input data:");
scanf("%d",&k);
n=myinsert(a,10,k);
printf("inserted after:");
myout(a,n);
}