c语言代码bug
我想让12插到数组当中,结果却变成了图中的样子!该如何改啊? #include<stdio.h>#define N 10
void insert(int *p,int x)
{
int i,j;
for(i=0;i<N-1&&*(p+i)<x;i++)
{
for(j=N-2;j>=i;j--)
{
p[j+1]=p[j];
p[i]=x;
}
}
}
void output(int a[],int n)
{
int i;
for(i=0;i<N-1;i++)
{
printf("%4d",a[i]);
}
}
int main()
{
int a[N]={1,4,5,7,19,20,34,56,78},x;
printf("请输入要插入的数据:");
scanf("%d",&x);
printf("原数组为:\n");
output(a,N-1);
insert(a,x);
printf("插入%d后的数组为:\n",x);
output(a,N);
return 0;
}