c - 如何在 C 中交换一行中的两个变量?

标签 c

我想知道是否有其他方法可以在一行中交换 2 个数字,当然没有第三个变量。

我知道一种方法:

b=a+b-(a=b) 

a=a+b-(b=a)

两者是相同的(大约)。如果你知道的话请帮帮我。

最佳答案

您可能正在寻找的经常被引用的经典答案是:

a^=b^=a^=b;

但是,从技术上来说这是错误的,因为它在序列点之前多次更改同一变量。

关于c - 如何在 C 中交换一行中的两个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394609/

相关文章:

c - 如何将十六进制字符串从 uart 发送到微 Controller 并将其存储为整数以供将来的 "if"语句使用

android - 使用 libvpx x86 android 构建项目失败并出现 undefined reference 错误

c - printf 为 uint_8 打印大数字

c# - 串行端口重定向或拆分

c - 从C/C++程序执行二进制(INTEL FSP)文件的最简单方法

c - 如何使用 char var 字符串连接和调用系统

c - 在 Linux 上使用 fgets() 读取带有 DOS 行结尾的文件

c - -SIGCONT 不继续暂停的进程?

c - 这些功能如何运作?

php - 套接字程序将文件发布到php