起泡排序出现错误,如何解决?

起泡排序,若输入一个较大数据会出现错误,变成“16”,全是小数据则排序结果正常

img

代码明显有越界啊。
bound = flag,而flag初始为n,那么在for循环中,r[i+1]就可能是r[n],越界了。尝试flag = n-1