|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
“void printInfo(Student *[])”: 无法将参数 1 从“Student (*)[3]”转换为“Student *[]”
- #include<winuser.inl>
- #include<stdio.h>
- #include <cstdlib>
- //有一个结构体变量stu,内含学生学号、姓名和3门课程的成绩。要求在main函数中赋予值,
- //在另一函数print中将它们输出。今用结构体变量作函数参数
- int number_of_stu = 3;
- struct Student
- {
- int num;
- char name[20];
- float score;
- }stu[3];
- void printInfo(struct Student *stu[])
- {
-
- for (int i = 1; i < number_of_stu + 1; i++)
- {
- printf("********print %d student information:*********\n", i);
- printf("num:%d\n", stu[i-1] -> num);
- printf("name:%s\n", stu[i-1]->name, 20);
- printf("score:%f\n", stu[i-1]->score);
- printf("\n");
- }
- }
- int main()
- {
- //输入数据
- for (int i = 1; i < number_of_stu + 1; i++)
- {
- printf("enter %d student number:", i );
- scanf_s("%d", stu[i-1].num);
- printf("enter %d name:", i);
- scanf_s("%s", stu[i-1].name,20);
- printf("enter %d student number:", i);
- scanf_s("%f", stu[i-1].score);
- }
- //将结构体作为参数传入函数中进行打印
- printInfo(&stu);
- return 0;
- }
复制代码
改好的代码
- #include<stdio.h>
- #include <cstdlib>
- //有一个结构体变量stu,内含学生学号、姓名和3门课程的成绩。要求在main函数中赋予值,
- //在另一函数print中将它们输出。今用结构体变量作函数参数
- int number_of_stu = 3;
- struct Student
- {
- int num;
- char name[20];
- float score;
- } stu[3];
- void printInfo(struct Student stu[]) // 有错
- {
-
- for (int i = 1; i < number_of_stu + 1; i++)
- {
- printf("********print %d student information:*********\n", i);
- printf("num:%d\n", stu[i-1] . num) ; // 有错
- printf("name:%s\n", stu[i-1] . name) ; // 有错
- printf("score:%f\n", stu[i-1] . score) ; // 有错
- printf("\n") ;
- }
- }
- int main()
- {
- //输入数据
- for(int i = 1; i < number_of_stu + 1; i++) {
- printf("enter %d student number : " , i) ;
- s_scanf("%d", & stu[i-1] . num) ; // 有错
- printf("enter %d name : " , i) ;
- s_scanf("%s", stu[i-1] . name , 20) ;
- printf("enter %d student score : " , i) ;
- s_scanf("%f", & stu[i-1] . score) ; // 有错
- }
- //将结构体作为参数传入函数中进行打印
- printInfo(stu) ; // 有错
- return 0;
- }
复制代码
|
|