题意是让输出1 3 5学生的数据。但我这个结果是只输出第五个。感觉应该是指针运用错误。但又不知道哪里的问题。求指导
#include<iostream>
using namespace std;
class student
{
public:
void get();
void display();
private:
int number;
int score;
};
void student::get()
{
cin>>number>>score;
}
void student::display()
{
cout<<"学生"<<number<<"成绩为"<<score<<endl;
}
int main()
{
student *p;
student a[5];
p=&a[5];
int i;
for (i=0; i<5; i++)
{
cout<<"请输入第"<<i+1<<"号学生的数据: ";
p->get();
}
int j;
for(j=0;j<5;j+=2)
{
p->display();
}
return 0;
}

#include<iostream>
using namespace std;
class student
{
public:
void get();
void display();
private:
int number;
int score;
};
void student::get()
{
cin>>number>>score;
}
void student::display()
{
cout<<"学生"<<number<<"成绩为"<<score<<endl;
}
int main()
{
student *p;
student a[5];
p=&a[5];
int i;
for (i=0; i<5; i++)
{
cout<<"请输入第"<<i+1<<"号学生的数据: ";
p->get();
}
int j;
for(j=0;j<5;j+=2)
{
p->display();
}
return 0;
}
