输出两个变量中间不用空格就出乱码

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
string Major[99]{}; int nMajor[99]{};
//...
//...
for (int i = 0; Major[i] != "\0"; i++)
{
    cout << Major[i] << ' ' << nMajor[i] << "人" << endl;
}
for (int i = 0; Major[i] != "\0"; i++)
{
    cout << Major[i] << ':' << nMajor[i] << "人" << endl;
}

运行结果及报错内容

img

img

那个冒号字符 ':'是中文的吧,改成英文冒号