Y030626 2021-12-21 18:44 采纳率: 78.9%
浏览 10
已结题

请问一下函数中建立了动态变量但是不能输入

#include
#include
using namespace std;
struct student
{ char name[80];
char num[20];
float a,b,c,d;
float x,y;
};
void lb (student *, int );
int main (void)
{
int n;
student *p;
cout<<"输入学生个数:"<<endl;
cin>>n; lb(p,n);
system("pause");
return 0;
}
void lb (student q , int m)
{
q=(student
)malloc(sizeof(student)*m);
if(q=NULL)
{
cout<<"error!"<<endl;
exit (1);
}
for(int i=0 ; i<m ; i++)
{
cout<<"输入名字:";
cin.getline(q[i].name ,80);
cout<<"学号:";
cin.getline(q[i].num ,20);
cout<<"学科1:";
cin>>q[i].a;
cout<<"学科2:";
cin>>q[i].b;
cout<<"学科3:";
cin>>q[i].c;
cout<<"学科4:";
cin>>q[i].d;
q[i].y=q[i].a+q[i].b+q[i].c+q[i].d;
q[i].x=q[i].y/4.f;
}

  • 写回答

1条回答 默认 最新

  • 真相重于对错 2021-12-21 19:00
    关注

    如果一个函数的参数是指针,如果传入一个一级指针,无论在函数内部如何修改这个指针,函数结束后,这个指针依然是传入之前的量,所以要让指针参数能够把函数内部的操作返回出来,那么需要二级指针

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 12月21日

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b