C语言执行时遇错关闭问题(前面那个无法补充代码)

来源:百度知道 编辑:UC知道 时间:2024/06/15 06:35:08
程序编译通过,在执行的时候就会跳出个框,说:遇到问题需要关闭。我们对此引起的不便表示抱歉。
本人刚接触VC没多久,对很多专业的词汇不大了解,所以拜托各位能用通俗的话告诉我该怎么解决。。。。大谢。。。。。
题目是一个班4个学生,5门课。找出有2门以上不及格的学生,并输出学号和全部课程及平均成绩;找出平均成绩在90分以上或全部课程成绩在85分以上的学生。

#include<stdio.h>
float score[4][5];
void main()
{
float aver(float (*p1)[5],int a);
void bad(float (*p3)[5]);
void good(float (*p4)[5]);
for(int i=0;i<4;i++)
{
printf("请输入第%d个学生的成绩:\n",i+1);
for(int j=0;j<5;j++)
scanf("%f",&score[i][j]);
}
bad(score);
good(score);
}

float aver(float (*p1)[5],int a)
{
float sum=0;
for(int b=0;b<5;b++)
sum+=*(*(p1+a)+b);
return(sum/5);
}

void bad(float (*p3)[5])
{

float c;
int flag;
for(int i=0;i<4;i++)
{
flag=0;
for(int j=0;i<5;j++)
if(*(*(p3+i)+j)<60)
flag++;
if(flag>=2)
{
p

程序没有问题,有问题的是你的C环境编程设置。你应该使用的是Win-tc吧。这个和某些机器不兼容,容易出现一些小问题。建议你在其他人机器上试试。

同意 vc就是容易出这种问题一般重新编译一遍就可以了

*(*p3+i)+j正确的用法,你的*(*(p3+i)+j 用法错误,所以会出错
VC出现这种错误,大多是指针用错了