问题描述:
// Created by 黑马程序员.
#include "iostream"
using namespace std;
//结构体定义
struct student
{
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
}
int main() {
system("chcp 65001");
//结构体数组
struct student arr[3]=
{
{"张三",18,80 },
{"李四",19,60 },
{"王五",20,70 }
};
for (int i = 0; i < 3; i++)
{
cout << "姓名:" << arr[i].name << " 年龄:" << arr[i].age << " 分数:" << arr[i].score << endl;
}
system("pause");
return 0;
}
上述代码的int处为什么爆红了呢?
问题解答:
在你的代码中,int
之前缺少了一个分号(;
)来结束结构体的定义。正确的结构体定义应该如下所示:
struct student
{
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
}; // 这里需要加上分号
因此,完整的代码应该是:
#include "iostream"
using namespace std;
//结构体定义
struct student
{
//成员列表
string name; //姓名
int age; //年龄
int score; //分数
}; // 这里加上分号
int main() {
//结构体数组
struct student arr[3]=
{
{"张三",18,80 },
{"李四",19,60 },
{"王五",20,70 }
};
for (int i = 0; i < 3; i++)
{
cout << "姓名:" << arr[i].name << " 年龄:" << arr[i].age << " 分数:" << arr[i].score << endl;
}
system("pause");
return 0;
}
加上分号后,代码应该就不会再出现红色报错了。如果还有其他问题,请继续提问!