C新手!

C新手求助!!
我想写一个能实现多次删除数据的程序,代码如下:
# include <stdio.h>

void del (int a[],int size,int del_num)
{
for (int i = del_num; i <= size - 1; i++ )
a[i - 1] =a[i];
}

int main (void)
{ int a[20] = {1,5,6,54,321,532,664,3456,4432,10000};
int count = 0,x;

for (int i = 0; i < 10; i++)
printf("%d\t",a[i]);

printf("\n请输入:您想删除数据的位置(输入q退出)\n");
while (scanf("%d",&x) == 1)
{
del (a,10 - count,x);
count ++;
printf("\n删除后的数组是:\n");
for (int i; i < 10 - count; i++)
printf("%d\t",a[i]);
printf("\n请再次输入您想删除数据的位置(输入q退出):\n");
}
printf("您总共插入了%d个数据\n",count);

return 0;
}
但是执行结果,确实出现了错误,这是怎么回事?
请大家指点!

------解决方案--------------------
main函数while里的for循环,i没有初始化为0。

C/C++ code
# include <stdio.h>

void del (int a[],int size,int del_num)
{
    for (int i = del_num; i <= size - 1; i++ )
        a[i - 1] =a[i];
}

int main (void)
{
    int a[20] = {1,5,6,54,321,532,664,3456,4432,10000};
    int count = 0,x;
    
    for (int i = 0; i < 10; i++)
        printf("%d\t",a[i]);
    
    printf("\n请输入:您想删除数据的位置(输入q退出)\n");
    while (scanf("%d",&x) == 1)
    {
        del (a,10 - count,x);
        count ++;
        printf("\n删除后的数组是:\n");
        for (int i=0; i < 10 - count; i++)
            printf("%d\t",a[i]);
        printf("\n请再次输入您想删除数据的位置(输入q退出):\n");
    }
    printf("您总共插入了%d个数据\n",count);
    
    return 0;
}