очень новое к c. Я написал следующий код.ошибка: ожидаемое выражение перед «учеником»
typedef struct
{
char name[100];
int comp, math, phys;
int total;
} student[100];
int main(int argc, char** argv) {
int number;
do
{
printf("Enter how many students: ");
scanf("%d", &number);
if(number < 0)
{
printf("Wrong input! \n");
}
}
while(number < 0);
int i;
for(i=0; i < number; ++i)
{
printf("Student %d's name: ", i+1);
scanf("%s", student[i].name);
printf("Comp: ");
scanf("%d", &student[i].comp);
printf("Phys: ");
scanf("%d", &student[i].phys);
printf("Math: ");
scanf("%d", &student[i].math);
&student[i].total = &student[i].comp + &student[i].math + &student[i].phys;
}
printf("s%", &student[1].name);
return (EXIT_SUCCESS);
}
Я продолжаю получать ошибку: ожидаемое выражение перед «учащимся» во всех линиях scanf и последней строке printf. Что я делаю не так? Очень новичок в C, поэтому любая помощь будет отличной.
Вы пытаетесь использовать 'student' как массив * объект *. Но вы объявили его как массив * type *. Типы и объекты - это две совершенно разные вещи. – AnT
В строке, начинающейся с '& student [i] .total =', вытащите все '&' –