

死循环了,第一个图片是我数组的思路,第二个是指针的思路。就是数组中十个整数,把其中的0换到最后,其他的数字顺序保持不变。数组的筛查思路已经写出来了,转换成指针的时候就一直死循环


void move(int *p,int n)
{
int i=0,j=0,count=0,*q = p;
while(q<p+n-count)
{
if(*q == 0)
{
for(i=0;i<n-j-1;i++)
*(q+i) = *(q+i+1);
count++;
}
else
{
q++;
j++;
}
}
}
int main()
{
int a[10] = {1,2,3,0,9,8,0,0,9,0};
move(a,10);
for(int i=0;i<10;i++)
printf("%d ",a[i]);
}