作者:手机用户2502854041 | 来源:互联网 | 2023-10-12 16:20
跟着郝斌老师的课,想写一小段代码,定义一个结构体,让用户输入学生个数,然后输入学生年龄、编号、成绩,进行冒泡排序,然后进行输出,但是不知道为什么会提示错误:
E0109 明显调用的表达式前的括号必须具有(指针)函数类型
C2064 项不会计算为接受 347 个参数的函数 ,实在不知道是出了什么问题。。有大神可以帮我开导一下吗。。。感谢。。。
#include
#include
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;
}
实在是不好意思 ....我没有仔细的检查自己的语句,C的基础还是太差了[哭哭],我接下来还是再巩固巩固吧,感谢您评论了我,实在是麻烦您了!