为什么算出来垃圾值,系统没报错


#include<iostream>
using namespace std;

float Func01(float Scores[6])
{
    int i;
    float sum=0;
    for (i = 0; i <= 5; i++);
    {
        sum += Scores[i];
    }
    float a = sum / 6;
    return a;
}

int main()
{
    
    cout << "input the scores\n";
    int k;
    float Scores1[6];
    for (k = 0; k <= 5; k++)
    {

        float* s = new float;
        cin >> *s;
        Scores1[k] = *s;
        delete s;

    }

    float average = Func01(Scores1);
    cout << "The average score is " << average;

    return 0;
}

for (i = 0; i <= 5; i++);
这句后面的分号要去掉

这样的回复可以被采纳吗?

没有语法错误、拼写错误、类型错误,系统就不会报错,逻辑问题编译器没法检查出来;第9行for最后的分号,属于逻辑错误,编译器识别出来

你输入5个数,最后相加除以6,是要干啥

我知道你可能在练习,但是new和delete能不用就不用吧。一个给数组赋值被你写这么复杂。代码看不出什么大问题。还有就是关于数组做参数的问题,第一维的大小传了也没用。