大学C语言结构体syntax error : missing ';' before '{'


#include<stdio.h>
int main(void)
{ struct students
  { char name[10];
    char sex;
    int  score;
  };  
  struct students s1={0},s2={0},s3={0},max{0};
  
  printf("Input data:\n");
  scanf("%s %c%d",s1.name,&s1.sex,&s1.score);
  scanf("%s %c%d",s2.name,&s2.sex,&s2.score);
  scanf("%s %c%d",s3.name,&s3.sex,&s3.score);

  printf("All students are:\n");
  printf("&13s%3c%4d\n",s1.name,s1.sex,s1.score);
  printf("&13s%3c%4d\n",s2.name,s2.sex,s3.score);
  printf("&13s%3c%4d\n",s3.name,s3.sex,s4.score);

  max=s1;
  if(max.score<s2.score) max=s2;
  if(max.score<s3.score) max=s3;
  
  printf("The students is:\n");
  printf("% 13s%3c%4d\n",max.name,max.sex,max.socre);
  return 0;
}

找了半天没有少;啊

img

#include<stdio.h>
int main(void)
{ 
  struct students
  { char name[10];
    char sex;
    int  score;
  };  
  struct students s1={0},s2={0},s3={0},max={0};
  
  printf("Input data:\n");
  scanf("%s %c%d",&s1.name,&s1.sex,&s1.score);
  scanf("%s %c%d",&s2.name,&s2.sex,&s2.score);
  scanf("%s %c%d",&s3.name,&s3.sex,&s3.score);
 
  printf("All students are:\n");
  printf("%13s%3c%4d\n",s1.name,s1.sex,s1.score);
  printf("%13s%3c%4d\n",s2.name,s2.sex,s2.score);
  printf("%13s%3c%4d\n",s3.name,s3.sex,s3.score);
 
  max=s1;
  if(max.score<s2.score) max=s2;
  if(max.score<s3.score) max=s3;
  
  printf("The students is:\n");
  printf("% 13s%3c%4d\n",max.name,max.sex,max.score);
  return 0;
}

错误见注释处,供参考:

#include<stdio.h>
int main(void)
{
    struct students
    {
        char name[10];
        char sex;
        int  score;
    };
    struct students s1 = { 0 }, s2 = { 0 }, s3 = { 0 }, max{ 0 };

    printf("Input data:\n");
    scanf("%s %c%d", s1.name, &s1.sex, &s1.score);
    scanf("%s %c%d", s2.name, &s2.sex, &s2.score);
    scanf("%s %c%d", s3.name, &s3.sex, &s3.score);

    printf("All students are:\n");
    printf("%13s%3c%4d\n", s1.name, s1.sex, s1.score);  //"&13s%3c%4d\n"  修改
    printf("%13s%3c%4d\n", s2.name, s2.sex, s2.score);  
    //printf("&13s%3c%4d\n", s2.name, s2.sex, s3.score);//"&13s%3c%4d\n"    s3.score  修改
    printf("%13s%3c%4d\n", s3.name, s3.sex, s3.score);  
    //printf("&13s%3c%4d\n", s3.name, s3.sex, s4.score);//"&13s%3c%4d\n"    s4.score  修改

    max = s1;
    if (max.score < s2.score) max = s2;
    if (max.score < s3.score) max = s3;

    printf("The students is:\n");
    printf("%13s%3c%4d\n", max.name, max.sex, max.score); 
    //printf("% 13s%3c%4d\n", max.name, max.sex, max.socre);//"% 13s%3c%4d\n"   max.socre  修改
    return 0;
}


#include<stdio.h>

int main(void)
{
    struct students
    {
        char name[10];
        char sex;
        int  score;
    };
    struct students s1 = { 0 }, s2 = { 0 }, s3 = { 0 }, max = { 0 };//少了个=

    printf("Input data:\n");
    scanf("%s %c%d", s1.name, &s1.sex, &s1.score);
    scanf("%s %c%d", s2.name, &s2.sex, &s2.score);
    scanf("%s %c%d", s3.name, &s3.sex, &s3.score);

    printf("All students are:\n");
    printf("&13s%3c%4d\n", s1.name, s1.sex, s1.score);
    printf("&13s%3c%4d\n", s2.name, s2.sex, s3.score);
    printf("&13s%3c%4d\n", s3.name, s3.sex, max.score);//没有s4

    max = s1;
    if (max.score < s2.score) max = s2;
    if (max.score < s3.score) max = s3;

    printf("The students is:\n");
    printf("% 13s%3c%4d\n", max.name, max.sex, max.score);//score单词打错
    return 0;

}

报错不是有行号吗?报错信息截图看一下