不用中间变量交换两个数 swap(a,b);

#include <iostream>
using namespace std;
int main () {
    int a = 3;
    int b = 5;
    cout<<"a="<<a<<",b="<<b<<endl;
    a = a+b;    ///a=7
    b = a-b;    ///b=3;
    a = a-b;    ///a=5
    cout<<"a="<<a<<",b="<<b<<endl;
    return 0;
}

输出:

a=3,b=5

a=5,b=3

转载于:https://www.cnblogs.com/xudong-bupt/p/3975469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是用中文回复: 编写一个函数swap,可以实现将个数进行交换。具体实现方式可以使用一个中间变量来完成交换,也可以使用异或运算来完成交换。以下是种实现方式的示例代码: 1. 使用中间变量 void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } 2. 使用异或运算 void swap(int* a, int* b) { *a ^= *b; *b ^= *a; *a ^= *b; } 以上种方式都可以实现将个数进行交换,具体使用哪种方式取决于个人喜好和实际情况。 ### 回答2: 实现个数交换的函数,通常会使用到一个临时变量来储存其中一个数,然后再进行交换。具体实现如下: ```python def swap(a, b): temp = a a = b b = temp return a, b ``` 这里,我们传入变量a和b,先将其中一个数a存储到temp中,再将b赋值给a,最后将temp的值赋给b。最后,我们返回a和b的值,确保函数交换完成后值正确。 函数的使用方式: ```python a = 5 b = 9 print("交换前,a=", a, "b=", b) a, b = swap(a, b) print("交换后,a=", a, "b=", b) ``` 运行结果: ``` 交换前,a= 5 b= 9 交换后,a= 9 b= 5 ``` 以上是通过一个中间变量实现个数交换。python也支持通过多重赋值来实现,代码如下: ```python def swap(a, b): a, b = b, a return a, b ``` 代码更简洁,变量直接交换赋值即可。但需要注意的是,这种实现方式并不是真正的原地交换,而是创建了一个新的tuple来传递a和b的值。如果a和b是较大的对象或列表,这种方式的效率会低于第一种实现方式,但简洁性更好,常用于比较小的对象的交换。 ### 回答3: swap函数是一种用于交换变量值的函数。它通过接收个参数并交换它们的值来实现此操作。swap函数可以用于任何类型的变量,包括整数、浮点数、字符、字符串等。 要编写一个swap函数,我们需要给函数定义个参数,分别表示要交换变量。我们可以使用一个临时变量来存储其中一个变量的值,然后将该变量的值赋值给另一个变量,最后将之前存储的值赋给第一个变量。 下面是一个简单的C语言函数操作,用于交换个整数变量的值: ```c void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } ``` 该函数的参数为个指向整数变量的指针。函数中的第一行使用temp变量存储a指向的整数变量的值。然后,该值被赋给b指向的变量,反之亦然。最后,temp的值被赋回a指向的变量,从而完成了交换。 要调用这个函数,只需要将需要交换值的变量的地址传递给该函数,如下所示: ```c int a = 1, b = 2; swap(&a, &b); ``` 在此示例中,我们定义个整数变量a和b,并将它们的初始值分别设置为1和2。然后,我们调用swap函数,并将这变量的地址作为参数传递给它。该函数在返回后,变量a和b的值已更改,并且现在包含值2和1。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值