while( i-- > 0 ){
y[x++] = 0;
}

という文で、最初 i=3 x=0だったとしたら
x[0]=0,x[1]=0,x[2]=0と配列にデータが入るのでしょうか?