一个C++数组定义的小问题

#include <iostream>
#include <cstdlib>

using namespace std;

void bubblesort(int A[], int n)
{
    bool sorted = false;
    while (!sorted)
    {
        sorted = true;
        for (int i = 1; i < n; i++)
        {
            if (A[i - 1] > A[i])
            {
                swap(A[i - 1], A[i]);
                sorted = false;
            }
        }
        n--;
    }
}

int main(void)
{
    int n = 0;
    int A[5];
    for (int i = 0; i <= 4; i++)
    {
        cin >> A[i];
    }
    
    bubblesort(A[5], 5);

    return 0;
}

 

大家好,在调试上面的这段程序时,我发现编译器报错:

"int" 类型的实参与 "int *" 类型的形参不兼容。[33,16]

个人感觉应该是数组定义的问题,想问下如何解决?谢谢大家!

bubblesort(A[5], 5);  

语法不对, 写 bubblesort(A, 5);  

传的参数不对,你不能传类型阿,你传变量阿。  bubblesort(A, 5);  

传递A[5]相当于传递A数组的第五个元素值;int A[5]是定义一个有五个整数的数组。况且A[5]也是越界访问

也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html