有人能帮我看看这是啥原因吗?

他这个题目要求是用下面的子函数接受一个数组和他的容量之后在函数中统计不合格学生的数量并用return语句返回

img

你s数组没分配大小,你输入s[len]时会越界啊

可以使用new,delete

#include <iostream>
using namespace std;

int score(int s[], int len);

int main()
{
    int len;
    cin >> len;
    int* s = new int[len];
    for (int i = 0; i < len; i++)
    {
        cin >> s[i];
    }
    int count = score(s, len);
    cout << "统计不合格学生数量为: " << count << endl;
    delete[] s;
    return 0;
}

int score(int s[], int len)
{    
    int i, j = 0;
    for (i = 0; i < len; i++)
    {
        if (s[i] < 60)
            j++;
    }
    return j;
}