c++ - 如何用指针交换两个变量

标签 c++ pointers swap

我有一个问题,我无法创建一个简单的程序来使用指针交换两个变量。我这样试过:

int main() {

int x=5, y=10;
int *p=nullptr;

p=&x;
y=*p;
x=y;

cout<<x<<" "<<y;
}

我该怎么办?

最佳答案

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

    tmp = *x;
    *x = *y;
    *y = tmp;
}
int main()
{
    int a = 7, b = 3;

    std::cout << a << ' ' << b << '\n';
    swap(&a, &b);
    std::cout << a << ' ' << b << '\n';
}

同时考虑 std::swap

关于c++ - 如何用指针交换两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43235909/

相关文章:

c++ - 如何优化指针间接层

c++ - 将外部事件循环与 Qt 相结合

c++ - 在具有智能指针的类上正确实现复制构造函数和等于运算符

C++ vector 问题;通过引用传递东西

c++ - 如何复制(或交换)包含引用或常量成员的类型的对象?

c++ - SerialStream.Open ("/dev/ttyUSB0"的实例)引发异常 "Bad file descriptor"[libserial, lubunto, c++]

c# - 无需自动化即可读取(和写入)Office 文档自定义属性

Java 双链表前一个指针未正确分配

linux - 如何使用 Ansible-playbook 在磁盘的 `/etc/fstab` 中追加条目?

r - 交换行,每两行