繁体   English   中英

如何在 for 循环中交换 function 值和数组元素?

[英]How to swap function value and array element in for loop?

我如何在给定代码中交换元素,因为我收到消息说表达式必须是可修改的左值? 我需要在 for 循环中交换 function 值和数组元素。

int niz[2] = { 2,1 };
    int temp;
    for (int i = 0;i < 1;i++)
    {
        temp = niz[i];
        niz[i] = minimum(niz, 2, i);
        minimum(niz, 2, i) = temp;

    }
    for (int i = 0;i < 2;i++)
    {
        cout << niz[i] << endl;
    }
#include <iostream>

using namespace std;

void swap(int arr[], int size);

int main(void) {
    int x[2] = {2, 1};

    cout << "Before: ";

    for (int i = 0; i <= 1; i++) {
        cout << x[i] << ", ";
    }

    swap(x, 2);

    cout << endl << "After: ";

    for (int i = 0; i <= 1; i++) {
        cout << x[i] << ", ";
    }

    return 0;
}

void swap(int arr[], int size) {
    for (int i = 0; i < size / 2; i++) {
        arr[i] ^= arr[size - 1 - i];
        arr[size - 1 - i] ^= arr[i];
        arr[i] ^= arr[size - 1 - i];
    }
}

希望它可以帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM