大概看一下,,,程序要干嘛,有几处错误给你指出了。不懂再追问~
#include
int WeightedAVG(int (*score)[4],int n);
int main(void)
{int (*score)[4];
int n=1,i=0; //n未初始化
printf("请输入%d个成绩:\n",n);
score=(int (*)[4])malloc(n*4*sizeof(int)); //动态数组定义错误。
while(i
score[i][0]=i+1;
scanf("%d,%d", &score[i][1],&score[i][2]); //缺少地址符号
//需要修改i的值否则死循环
} //不需要;
WeightedAVG(score,n);
printf("%d",score); //score 怎么能直接输出呢?这是个数组。
printf("");
return 0;
}
int WeightedAVG(int (*score)[4],int n)
{int i,count=0;
int(*p)[4];
for(p=score;p
return count;
}
score=(int(*)[4])malloc(n*4*sizeof(int));//这句 的语法
逻辑错误或者漏洞等 没看
我一般 会如下这样用
typedef int four_int[4];
four_int *score;
score=(four_int*)(malloc(n*sizeof(four_int)));
这样会少些难写难理解的语法
都不知道写得什么东西