题目是:
#include <stdio.h>
int pl(int a[])
{
int *p,*q,t;
p=&a[0];
q=&a[9];
while(p<q)
{
while(*p%2!=0)
p++;
while(*q%2==0)
q--;
if(p>q)
break;
t=*p;
*p=*q;
*q=t;
p++;
q--;
}
}
int main()
{
int a[10],i;
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
pl(a);
for(i=0;1<=9;i++)
{
printf("%d",a[i]);
}
}
发现输出的前十位数是对的,后面的是乱码
请问我的代码哪错了?