gpt4 book ai didi

c - 如何修复 swapBack 函数以获得我想要的结果?

转载 作者:行者123 更新时间:2023-11-30 14:34:38 26 4
gpt4 key购买 nike

我正在尝试实现一个交换回功能,将值交换回原始位置。这是我必须执行的指令:

实现第二次交换函数 swapBack(int v[2]),它将 vector v = [x, y] 作为输入并交换其条目。包括将新函数添加到上面的程序中以交换 x 和 y 的值。

#include <stdio.h>

void swap(int *pX, int * pY){
int temp = *pX;
*pX = *pY;
*pY = temp;

}

void swapBack(int x, int y){
swap(&x,&y);
}

int main() {
int x = 10;
int y = 5;
swap(&x, &y);
printf("x = %d, y = %d\n", x, y);
swapBack(&x, &y);
printf("x = %d, y = %d\n", x, y);
return x + y;
}

但是,两个 printf 产生相同的结果,我不知道如何修复它?谢谢

最佳答案

您定义了 swapBack 错误。它应该采用两个整数的数组(衰减为指针)。

这应该是你想要的:

void swapBack(int v[2])
{
int temp = v[0];
v[0] = v[1];
v[1] = temp;
}

一个测试这个的程序:

#include <stdio.h>

void swapBack(int v[2])
{
int temp = v[0];
v[0] = v[1];
v[1] = temp;
}

int main(void)
{
int v[2] = {10, 5};

printf("v[0] = %d, v[1] = %d\n", v[0], v[1]);
swapBack(v);
printf("v[0] = %d, v[1] = %d\n", v[0], v[1]);
printf("v[0] + v[1] = %d\n", v[0] + v[1]);

return 0;
}

关于c - 如何修复 swapBack 函数以获得我想要的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58895940/

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