关于c++结构体数组动态分配的问题

2025-03-04 09:24:35
推荐回答(3个)
回答1:

赋值时,应该是num[i] 而不是num[n]
另外cout那句的引号位置不对
改正如下:

#include
struct c
{
int number;
char name[8];
int height;
};

void main()
{
int n,i,j=0;
cout<<"输入学生人数"< cin>>n;
struct c *num=new struct c [n];
for (i=0;i {
cout<<"输入学号,姓名,身高"< cin>>num[i].number;
cin>>num[i].name;
cin>>num[i].height;
}
for (i=0;i if (num[i].height>num[j].height)
j=i;
cout<<"身高最高的人为"<<"No."<}

回答2:

应该加一句fflush(stdin);意思是每次输完一个数据便会把紧随的换行符缓冲掉

回答3:

原来是赋值的原因- -