gpt4 book ai didi

c++ - 不能交换数组元素c++

转载 作者:行者123 更新时间:2023-11-30 03:48:57 29 4
gpt4 key购买 nike

我是 C++ 新手。我正在尝试解决教科书中的一个问题:交换数组中的第一个和最后一个元素。但是当我运行我写的代码时,什么也没有发生,甚至“请输入数组中的数字:”这句话也没有出现。任何人都可以提供帮助吗?谢谢。

#include <iostream>

using namespace std;

int swap(int values[], int size)
{
int temp = values[0];
values[0] = values[size-1];
values[size-1] = temp;
}

int main()
{
const int SIZE = 5;
int test[SIZE];
cout << "Please enter the numbers in the array: " << endl;
int input;
cin >> input;
for(int i=0; i<SIZE; i++)
{
test[i] = input;
}
swap(test, SIZE);
cout << test[SIZE] << endl;
return 0;
}

最佳答案

有几个错误:

  • 您应该在循环中获取输入,然后将其分配给测试数组。
  • 打印交换值时,使用 SIZE-1 而不是 SIZE 访问测试数组,因为数组索引从 0SIZE-1,包括在内。
  • 您将 swap() 声明为返回 int,但未提供任何 return 语句(这表明您尚未启用来自你的编译器的足够多的警告)。

    #include <iostream>

    using namespace std;

    void swap(int values[], int size)
    {
    int temp = values[0];
    values[0] = values[size-1];
    values[size-1] = temp;
    }

    int main()
    {
    const int SIZE = 5;
    int test[SIZE];
    int input;
    cout << "Please enter the numbers in the array: " << endl;

    for(int i=0; i<SIZE; i++)
    {
    cin >> input;
    test[i] = input;
    }
    swap(test, SIZE);
    cout << test[SIZE-1] << endl;
    return 0;
    }

关于c++ - 不能交换数组元素c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32890815/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com