把给定长度为10的整数数组中所有0元素全部移除,且所有非0元素的顺序不变。(求纠错版)c语言,算法

# include <stdio.h>
# include <stdarg.h>
# include < math.h>
int main()
{
    int i=0, a[10];
    
    for (i = 0; i < 10; i++)
        scanf_s("%50d", &a[i]);
        if (a[i])
        {
            printf("%d ", a[i]);
        }
            return 0;
        
}
我真的要疯了,编译器找不到错,但是编出来不对,求大佬纠错