c - 将数组传递给函数

标签 c arrays

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/

相关文章:

安卓工作室 JNI : cannot compile JPEG c-library

javascript - 我可以在 Angular JS 中的对象数组中只观察一个变量的变化吗?

c - 尝试在自声明数组列表上实现简单的冒泡排序函数

c++ - 将 char[] 转换为 char*

c - MSDN 对 fopen(或 fopen_s)的警告想表达什么?

php - 多选 MySQL 数据中的复选框,用逗号 (,) 分隔

javascript - 如何为多个用户使用人员选择器? SharePoint 2013

c - 为C中结构体中定义的字符指针分配静态内存

java - 如何访问数组方法中的参数? java

c - 在 C 中遍历多维数组中的列的最快方法