怎么回事?提示程序没有问题

  1. 图片说明
    #include
    #include
    #include
    struct Stduent
    {
    int age ;
    float score;
    char name [10] ;
    };
    int main ()
    { struct Stduent t;
    printf("请输入学生人数:\n");
    int len;
    printf("len=");
    scanf("%d",&len);
    struct Stduent * padd;
    padd = (struct Stduent *)malloc(len * sizeof(struct Stduent));
    int i,j;
    for (i=0;i {
    printf("请输入第%d个学生的信息:\n",i+1);
    printf("age=");
    scanf("%d",&padd[i].age);
    printf("score=");
    scanf("%f",&padd[i].score);
    printf("name=");
    printf("%s",padd[i].name);
    }
    for(i=0;i {
    for(j=0;j {
    if(padd[j].score>padd[j+1].score)
    { t= padd[j];
    padd[j]=padd[j+1];
    padd[j+1]=t;
    }
    }

    }
    for (i=0;i<len;++i)
    {
    printf("第%d个学生的信息是:\n",i+1);
    printf("age=%d\n",padd[i].age);
    printf("score=%s\n",padd[i].score);
    printf("name=%c\n",padd[i].name);
    }
    return 0;

}

你这代码就有问题啊。for循环那里是什么东西?把源码好好整理下再发出来吧

 for (i=0;i<len;++i) {
    printf("第%d个学生的信息是:\n",i+1);
        printf("age=%d\n",padd[i].age);
        printf("score=%s\n",padd[i].score);
        printf("name=%c\n",padd[i].name);
    }

而且最后输出的时候字符串要用%s输出,%c是字符,最后一行写成

printf("name=%s\n",padd[i].name);
 printf("请输入第%d个学生的信息:\n",i+1);
 printf("age=");
 scanf("%d",&padd[i].age);
 printf("score=");
 scanf("%f",&padd[i].score);
 printf("name=");
 printf("%s",padd[i].name);

最后一行的scanf写成printf了