输入10 21 3 6 9 0 100 1,下列程序输出的结果是?

输入10 21 3 6 9 0 100 1,下列程序输出的结果是?

最后的if(a[i]!=0)是在第六个位置处结束判断得到对吗?此时i=5?


#include<stdio.h>
#define n 8
void main()
{int 1,r,m,a[n],*p;
    m=0;r=n;p=a;
    for(i=0;i<n;i++)
        scanf("%d",p+i);
    while (r!=2)
    {
        if(*p!=0)
        {
            m++;
            if(m%3==0)
            {
                r--;*p=0;
            }
        if(p==a+n-1)
        p=a;
        else p++;
        }
        for(i=0;i<n;i++)
        if(a[i]!=0)
        printf("%d",a[i]);
            }
        
}

没对齐 少了 }