c - 交换功能不起作用

标签 c swap

为什么这个交换方法不起作用

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

     int *temp;
     temp = x;
     x = y;
     y = temp;
}

为什么?我认为它和普通的一样..

最佳答案

C 按值传递函数参数:您只是交换指针的副本。

如果你想交换两个int:

void swap(int *x,int *y)
{
   int temp;
   temp = *x;
   *x = *y;
   *y = temp;
}

关于c - 交换功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14696991/

相关文章:

c - 指针运算中的访问冲突

c - 打印长而不警告

c - g_bus_get_sync 返回 NULL 但 dbus_g_bus_get_private 有效

c - C 中指向链表的数组加倍

node.js - fetchPairData() 异常 : call revert exception in method getReserves()

c - 二叉搜索树 : lost pointer in insertion function

在 C 中将大端转换为小端 [不使用提供的函数]

java - 如果我将一个对象放入数组中的索引 0 处,如何将那里的对象放入索引 1 处?

.net - OutOfMemoryException/ERROR_COMMITMENT_LIMIT 系统中有大量空闲内存

struct - 如何交换结构的两个字段