这是目前的代码。为平均成绩a从3个学生。下面的代码是我面临的错误。能够工作他们从25到4。
Visual Studio说我有一个无法识别的表达式E0029、E0020、C2065、C2109
不要相信我使用指针,因为我们被告知不要使用它们。阅读错误代码并查看它们,但无法确定我在哪里失败。
先谢谢你了。
#include <stdio.h>
#define N 5
struct student {
char firstName[50];
int roll;
float marks[3];
}s[N];
typedef struct {
char firstName[50];
int roll;
float marks[3];
}student_t;
int main() {
int i;
double total = 0;
double marks_avg ;
student_t personA, personB, SMCstudent[N];
SMCstudent->marks[0] = 99;
personA= { "Daniel",10 {100,98,90}
};
printf("Enter information of student:\n");
//storing
for (i = 0;i < N;++i); {
s[i].roll = i + 1;
printf("\nFor all number %d,\n", s[i].roll);
printf("Enter first name:");
scanf_s("%s", &s[i].marks);
}
printf("Enter 3 marks");
for (int j = 0; j < 3; j++) {
printf("enter grade\n");
scanf_s("%f", s[i].marks[j]);
scanf_s("%f", & array[i]);
}
for (i = 0; i < N; i++) {
total += s[i].marks[2];
}
marks_avg = total / N;
printf("average grade for 5 students is %f\n\n", marks_avg);
printf("displaying information:\n\n");
return 0;
}
1条答案
按热度按时间f0ofjuux1#
@RetiredNinja声称在初始化过程中只能进行结构赋值。
这根本不是事实。
您还需要指定类型名称,但以下代码是有效的:
这是将“复合常值”指派给结构。
personA
是结构,右边(student_t){...}
是复合文字)*示例,工作代码: