gpt4 book ai didi

c++ - 我们可以在 C 或 C++ 中交换两个数字而不传递指针或对交换函数的引用吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:11:38 26 4
gpt4 key购买 nike

我在面试中被问过一两次这个问题。我不确定这是否可能。也许 C 中的结构是一条出路?任何人都可以进一步详细说明吗?

最佳答案

如果这两个值在一个结构中,那么您可以使用函数的返回值而不是通过引用传递:

struct twoNumbers {
int first;
int second;
};

struct twoNumbers swapNumbers(struct twoNumbers src)
{
int tmp = src.first;
src.first = src.second;
src.second = tmp;
return src;
}

/* ... */

struct twoNumbers s = { 5, 42 };

s = swapNumbers(s);

...尽管如此,使用指针可能更实用。

关于c++ - 我们可以在 C 或 C++ 中交换两个数字而不传递指针或对交换函数的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8525008/

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