鸡踢西 2021-01-27 15:45 采纳率: 0%
浏览 64

c语言新手一枚,实在是不清楚为什么这个程序会报错,有大神可以帮我开导一下吗{哭了}

跟着郝斌老师的课,想写一小段代码,定义一个结构体,让用户输入学生个数,然后输入学生年龄、编号、成绩,进行冒泡排序,然后进行输出,但是不知道为什么会提示错误:

  E0109    明显调用的表达式前的括号必须具有(指针)函数类型    


 C2064    项不会计算为接受 347 个参数的函数     ,实在不知道是出了什么问题。。有大神可以帮我开导一下吗。。。感谢。。。

 

#include <stdio.h>
#include <malloc.h>

struct Student
{
 int age;
 int number;
 float score;
};

void InputStudent(struct Student**pArr2,int* len2)
{
 int i;

 for (i = 0; i < *len2; ++i)
 {
  printf("age=\n");
  scanf_s("%d", &(*pArr2)[i].age);
  printf("number = \n");
  scanf_s("%d", &(*pArr2)[i].number);
  printf("score = ");
  scanf_s("%f", &(*pArr2)[i].score);
 }

}

void Maopaopaixu(struct Student**pArr3,int* len3)
{
 int i, j;
 struct Student t;

 for (i = 0; i < *len3 - 1; ++i)
 {
  for (j = 0; j < *len3 - 1 - i; ++j)
  {
   if ((*pArr3)[i].score > (*pArr3)[i].score)
   {
    t = (*pArr3)[i]
    (*pArr3)[i] = (*pArr3)[i + 1];
    (*pArr3)[i + 1] = t;
   }
  }
 }

}

void OutputStudent(struct Student**pArr4,int* len4)
{
 int i;

 for (i = 0; i < *len4 - 1; ++i)
 {
  printf("name = %d\n", (*pArr4)[i].age);
  printf("number = %d\n", (*pArr4)[i].number);
  printf("score = %f\n", (*pArr4)[i].score);
 }
}

int main(void)
{
 int len1;
 struct Student* pArr;

 printf("请输入学生的个数 :\n");
 scanf_s("%d", &len1);
 pArr = (struct Student*)malloc(sizeof(struct Student) * len1);

 InputStudent(&pArr,&len1);
 Maopaopaixu(&pArr,&len1);
 OutputStudent(&pArr,&len1);

 return 0;
}

  • 写回答

2条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-01-28 05:13
    关注

        t = (*pArr3)[i]   

    你这句话是什么意思?  后面少一个分号 ; 

    请仔细检查你的程序。

    评论

报告相同问题?

悬赏问题

  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频