程序在执行其余程序之前退出

-2 c++ cout activity-finish

我正在尝试创建一个学生程序,但是在我输入第 4 个名字后它停止了,它不允许我输入成绩,也不允许在最后显示列表......

#include<iostream>

using namespace std;

int main()

{

    string name[4];
    double g1[4],g2[4],avg[4];
    int cont;
    for(cont=1;cont<=4;cont++)
    {
        cout<<"STUDENT "<<cont<<"\n";
        cout<<"Name: ";
        cin>>name[cont];
        cout<<"First Grade: ";
        cin>>g1[cont];
        cout<<"Second Grade: ";
        cin>>g2[cont];
        avg[cont]=(g1[cont]+g2[cont])/2;
    }
    cout<<"STUDENTS LIST"<<"\n";
    cout<<"--------------"<<"\n";
    for(cont=1;cont<=4;cont++)
    {
        cout<<name[cont]<<" "<<avg[cont]<<"\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

for*_*818 6

string name[4];是一个有 4 个元素的数组。有效索引为 0、1、2 和 3。您的循环跳过第一个元素并在最后一次迭代时越界访问数组。这会导致未定义的行为。什么事情都可能发生。