先上代码:
#include "cstdio"
#include "iostream"
using namespace std;
int main()
{
struct Student
{
string name;
int gradeC;
int gradeM;
int gradeE;
};
int n;
cin>>n;
struct Student list [n];
for(int i=0;i<n;i++)
{
cin>>list[i].name>>list[i].gradeC>>list[i].gradeM>>list[i].gradeE;
}
int max=list[0].gradeE+list[0].gradeM+list[0].gradeC;
int num=0;
for(int i=1;i<n;i++)
{
if(max<list[i].gradeC+list[i].gradeM+list[i].gradeE)
{
max=list[i].gradeC+list[i].gradeM+list[i].gradeE;
num=i;
}
}
cout<<list[num].name<<' '<<list[num].gradeC<<' '<<list[num].gradeM<<' '<<list[num].gradeE;
}
然后我这边用的Clion告诉我:
error C2131: 表达式的计算结果不是常数
note: 因读取超过生命周期的变量而失败
note: 请参见“n”的用法
问题都是在第18行呜呜