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 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化