为什么运行结果不对呀,想知道是哪出了问题

一个十个整数的数组{34 91 83 56 29 93 56 12 88 72}找出最小数和小标并在主函数中打印最小数和下标。

#include<iostream>
using namespace std;
void bubble(int [],int );
 int main()
{
    int a[11]={34,91,83,56,29,93,56,12,88,72};
    int len=sizeof(a)/sizeof(int);

    bubble(a, len);
}

void bubble(int a[11],int size){int i,j,len;
        j=a[0];
        for(i=1;i<len;i++)
        {
        if (a[i]<j)
        j=a[i];
        }
    cout <<j<<endl;    
    
}

i从0开始,而且数组只有10个元素你分配了11个空间,最后一个被0填充了自然输出就是最小的0了