int avg(int *p);
int main()
{
int i, average, mark[5];
int arr[5];
for(i = 0; i < 5; i++);
{
arr[i] = scanf_s("%d\n", &mark[i]);
}
average = avg(arr);
}
int avg(int *p)
{
int j, total = 0, avg;
for(j = 0; j < 5; j++)
{
total += p[j];
}
avg = total / 5;
return avg;
}
这个程序没有导致任何错误。但是在运行时我得到“Run-Time Check Failure #2 -stack around the variable "mark"was corrupted.
有人能解释一下原因吗这背后?
最佳答案
为什么要在 for 循环的末尾使用分号......?
for(i = 0; i < 5; i++);
删除那个分号并检查
关于c - 将数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20299742/