为什么这代码在vc或dev上总是会溢出一组莫名奇妙的数据

题目如图图片说明

代码如下

#include<stdio.h>
int quiD(int BN); 

int main(){
    int i=0,ps[10];
    for(;i<=9;i++){
        scanf("%d",&ps[i]);
        if(ps[i]==0){
        i--;
         break;}
    } 


    int drink,x=0;
    for(;x<=i;x++){
    int q=ps[x];
    drink=quiD(q);
printf("%d->%d\n",q,drink);//quiD是求喝了多少的函数 BN是空瓶子数 DN是喝了的瓶子数 
} }
int quiD(int BN){
    int DN,z;
    z=BN%3;
    DN=BN/3;
    if((DN+z)<=1)return DN;//DN+z是空瓶子总数 
    else if((DN+z)==2)return ++DN;
    else DN+=quiD(DN+z);
    return DN;
}



结果如下![图片说明]图片说明

最后一行莫名其妙多出一组数据不知道为啥?大一菜鸟,编程习惯不好请见谅

最后是vs生成的内容,直接执行exe不会有,你的程序没有任何问题