关于#bug#的简单问题,如何解决?(语言-c++)

是一题对数组进行倒序排序的题目

img


编译没错,组建为何过不了,用的软件是C++ 6.0 但Visual Studio 也报同样的错误


#include
int main()
{
    void inv(int arr[],int n);
    int i = 0;    //cricle vary
    int arr[] = {3,7,9,11,0,6,7,5,4,2};
    int num = 10;    //elements Numbers;
    printf("The Original Numbers:\n");

    for(i = 0;i < num;i++)
    {
        printf("%d ",arr[i]);
    }

    printf("\n");
    inv(arr,num);
    printf("The arry has been inverted:\n");

    for(i = 0;i < num;i++)
    {
        printf("%d ",arr[i]);
    }
    printf("\n");

    return 0;
}

void inv(int * arr,int n)
{
    int * i = arr;
    int * j = arr+n-1;
    for(;i <= arr+(n-1)/2;i++,j--)
    {
        int temp = * i;
        * i = * j;
        * j = temp;
    }
    return;
}

希望能帮忙分析下

void inv(int arr[],int n);
这里申明的是arr[]
下面定义是 *arr
两者改其中之一,统一一下。

以下内容部分参考ChatGPT模型:


问题的原因很可能是在代码中调用了一个名为"inv"的函数,但是没有在代码中定义该函数。这可能是因为函数的定义被省略了,或者是因为函数的定义被放错了地方。请检查代码中是否有一个名为"inv"的函数,并确保该函数已被正确定义和调用。以下是一个简单的示例代码,用于对数组进行倒序排序:

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int arr[] = {3, 5, 1, 4, 2};
    int n = sizeof(arr) / sizeof(arr[0]);

    // 使用标准库中的sort函数对数组进行排序
    sort(arr, arr + n, greater<int>());

    // 输出排序后的数组
    for (int i = 0; i < n; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;

    return 0;
}

如果我的建议对您有帮助、请点击采纳、祝您生活愉快