c++问题,谁可以为我解答一下

为什么这个输出是mo呀有谁可以解答吗


#include<iostream>
using namespace std;
int main(){
    int i,j=0;
    char a[]="morning",t;
    for(i=1;i<7;i++){
        if(a[j]<a[i])
            j=i;
    }
    t=a[j];a[j]=a[7];a[7]=t;
    cout<<(a);
    return 0;
}

t=a[j];a[j]=a[7];a[7]=t;下标是从0开始的,7是\0,所以应该把a[7]修改为a[6]
这样才能把最大元素和最后一个字符交换