【问题标题】:How can I interchange(or swap) two numbers of an array?如何交换(或交换)数组的两个数字?
【发布时间】:2017-01-16 21:13:43
【问题描述】:

我有一个给定维度的数组。我想交换数组的两个给定元素。我试图在一个临时变量的帮助下交换两者,但结果是虚假和令人困惑的。有人可以建议其他方式吗? 此外,如果有人告诉我为什么我当前的程序不起作用,那将非常有帮助。

【问题讨论】:

  • 您当前的程序无法运行,因为您编写了错误的代码。根据所提供的信息,我们无法更具体。
  • 欢迎来到 Stack Overflow!看来您需要学习使用调试器。请帮助自己一些complementary debugging techniques。如果之后仍有问题,请随时回来提供更多详细信息。
  • 代码是什么,什么是“虚假和令人困惑的”!?这几乎是你所能做到的毫无意义。如果您的代码没有按您的预期工作,请将其发布,您将很快获得帮助。否则我们无法判断您做错了什么。这是一种奇怪的提问方式,我怀疑实际上你的作业是通过其他方式来完成,而这是你让别人为你做这件事的相当笨拙的方式。这是一个可能但几乎完全没有意义的练习,深受一些喜欢鼓励代码技巧而不是清晰代码的导师的喜爱。

标签: c arrays function


【解决方案1】:

使用临时变量进行交换是正确的方法。

由于您没有发布任何代码,因此无法弄清楚您犯了什么错误使其失败。

一般来说,对于T 类型的数组,我们可以像这样交换位置ij 的元素:

T x[N];
const T tmp = x[i];
x[i] = x[j];
x[j] = tmp;

这适用于任何类型的T,包括structs。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多