为什么会这样呢,这是数组冒泡排序。

img

img

img

下标越界了 i不能等于n-1,否则循环了a[i+1]就会取a[n]的值

img

冒泡排序应该这么写:

void paixu(int a[],int n)
{
      int t;
      for(int i=0;i<n-1;i++)
        for(int j=0;j<n-i-1;j++)
        {
              if(a[j] > a[j+1])
              {
                  t = a[j];
                  a[j] = a[j+1];
                  a[j+1] = t;
              }
        }
}

paixu函数中的for语句中I<=n-1改成i<n-1