C语言程序运行崩溃

这个函数中有什么错误吗,我每次程序运行到这个函数就奔溃报错//修改指定学生的成绩voidcorriger(STUstu[],intn,intm)//n为学生人数,m为科目... 这个函数中有什么错误吗,我每次程序运行到这个函数就奔溃报错
//修改指定学生的成绩
void corriger(STU stu[],int n,int m) //n为学生人数,m为科目数
{
long i;
int j,k;
printf("请输入要修改的学生的学号:");
scanf("%ld",&i);
for(j=0;j<n;j++)
{
if(i==stu[j].id)
{
printf("该学生学号:%ld 姓名:%s",stu[j],stu[j].name);
for(k=0;k<m;k++)
{
printf("科目%d成绩为:%c\n",k+1,stu[j].score[k]);
printf("修改为:");
scanf("%f",&stu[j].score[k]);
}
}
}
}
咳...才发现手残打漏了点东西....打扰了告辞告辞
还有....神他妈删除问题要50财富值
展开
 我来答
Mexico卡卡
2017-11-30 · TA获得超过1万个赞
知道大有可为答主
回答量:1.3万
采纳率:98%
帮助的人:1846万
展开全部

这种情况叫做 runtime error (运行时错误)。

在 Windows 7 上这样提示:

在 Windows XP 上这样提示:

runtime  error (运行时错误)就是程序运行到一半,程序就崩溃了。

比如说:

①除以零

②数组越界:int a[3]; a[10000000]=10;

③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;

④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *p=10;

⑤数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000]

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式