C - 输入 2 个值,返回 2 个值到 MAIN。交换

标签 c function return swap

我需要编写一个程序来按升序排列 4 个数字,例如 9 2 8 3 到 2 3 8 9。 所以我想到了使用交换的逻辑。我会使用 if/else 或 switch 语句,但首先我需要在下面解决这个问题。 我想输入 2 个整数(稍后比较),然后交换它们并将其返回给主函数。我该怎么做呢。请提供最佳解决方案,尽管我还没有学过指针、结构等。

#include <stdio.h>

int swap(int x, int y)
{   
int c;
    c = x;
    x = y;
    y = c;
    return x, y;
}

int main()
{
int a = 5, b = 7;

    printf("a=%d b=%d\n", a, b);
    swap(a, b);
    printf("a=%d b=%d\n", x, y);
    return 0;
}

我希望最终输出为 7、5。谢谢!

最佳答案

return x, y;

一个函数的返回值不能超过一个,可以传递一个指针然后修改他的内容:

#include <stdio.h>

void swap(int *x, int *y)
{   
    int c;

    c = *x;
    *x = *y;
    *y = c;
}

int main()
{
    int a = 5, b = 7;

    printf("a=%d b=%d\n", a, b);
    swap(&a, &b);
    printf("a=%d b=%d\n", a, b);
    return 0;
}

关于C - 输入 2 个值,返回 2 个值到 MAIN。交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325615/

相关文章:

c - 纯 C(可能是 C++)上的轻量级开源软件合成器库。 PCM。

c - 将 C 风格的整数数组传递给 Ada 函数以检索数组中的第一个元素

c++ - 指针增加有什么作用? (C/C++)

javascript - 最好是 `mainApp.config([' $routeProvider', function($routeProvider )` and ` mainApp.config(function($routeProvider)`

php - 检查 ID 是否已经在数据库中,如果是,请不要再次插入它

c - C/Linux 指针到指针的段错误

php - 不同查询返回相同计数值

xcode - 如何在 UITextView 返回/搜索键上添加一个 Action ?(swift 2)

python - 如何在 Kivy 中返回布局内的小部件?

java - 如何将值(value)观从私有(private)类(class)转移到另一个类(class)?