求大佬解释一下这是怎么把重复的元素去掉的
#include <stdio.h>
void main()
{
int i,j,k,a[]={4,78,20,30,19,0,30,20,8,7,3,1,90,86,437,918,0,1},ln;
for(ln=sizeof(a)/sizeof(int),k=i=1;i<ln;i++)
{
for(j=0;j<k;j++)//
if(a[j]==a[i]) break;//
if(j>=k) //
{a[k]=a[i];k++;} //
}
for(i=0;i<k;printf("%d ",a[i++]));
printf("\n");
}