请问这个赋值的错误原因是什么,如何修改?

图片说明
图片说明

int shanchu(int n) //定义
{int i;
int num;
int ss;
{printf("请输入待查找的学生学号:\n");//输入
scanf("%d",&num); //输出
ss=-1;
for(i=0;i<n;i++)
{if(num==student[i].num)
ss=i;
break;
}
if(ss==-1)
{printf("没有该学生信息\n");
getchar();
return 0;
}
else
{for(i=ss;i<n-1;i++) //语句
student[i].num=student[i+1].num;

strcpy(student[i].name,student[i+1].name);

student[i].score=student[i+1].score;
}
getchar();
return 1;
}
}

//-----------------------------------------------------------------------------------------------------------------

int main()
{
int s,s1,s2,rs,ms,*p,n; // rs=学生数量,ms=科目数量
int i = 0;
char password[10] = {0};
printf("请输入密码> ");
while (i<3 )
{
scanf("%s", password);
printf("\n");
if (strcmp(password, "123456") == 0)
{
printf("登陆成功\n");

system("学生成绩管理系统");                       
do{                                                             //菜单 
    printf("----------【学生成绩管理系统】----------\n");                                     
    printf("\n1.读取文件数据\n");
    printf("2.输入信息\n");
    printf("3.计算每门课程的总分和平均分\n");
    printf("4.按学生总分由高到低排出名次表\n");

    printf("6.查询单科成绩排名\n");
    printf("7.按姓名查询成绩\n");
    printf("8.输出成绩表\n");
    printf("9.删除信息\n");
    printf("10.修改信息\n");
    printf("0.退出系统\n");
    printf("请选择并输入0~9:");
    scanf("%d",&s);
    if(s==1)                                            //判断输入的菜单项并执行相应操作 
    {
        p=read();       //p指向存有学生人数和课程门数的数组
        rs=*p;          //*p为学生人数
        ms=*(p+1);      //*(p+1)为课程门数
    }
    else if(s==2) 
    {
        printf("请输入学生人数和课程门数:");
        scanf("%d%d",&s1,&s2);      //为避免输入错误而使变量ms,rs中可能存有的数据丢失 ,因此将输入的数据暂时存放在另外两个变量中 
        if(s1<0||s1>30||s2<0||s2>6)
            printf("输入错误,请重新输入!\n");
        else 
        {
            rs=s1;
            ms=s2; 
            luru(rs,ms);
        }
    }
    else if(s==3) jisuan(rs,ms);
    else if(s==4) mingci(rs,ms);

    else if(s==6) danke(ms,rs); 
    else if(s==7) findname(ms,rs);
    else if(s==8) output(rs,ms);
    else if(s==9) shanchu(n);
    else if(s==10) change(n);
    else if(s==0) ;
    else printf("输入错误,请重新输入!\n"); 
}while(s!=0);
return 0;

}

else
{
i++;
if (i != 3)
printf("密码输入错误,请重新输入> ");
}
}

if (i == 3)
{
    printf("密码错误三次,程序退出\n");
}
system("pause");
return 0;
}

改为strcpy(student[i].score,student[i+1].score);

错误原因参考:https://blog.csdn.net/ZmJ6666/article/details/103014873

图片说明
编译器提示了错误原因