黑马程序员技术交流社区
标题:
交换变量值
[打印本页]
作者:
beijingdbm
时间:
2015-5-24 10:17
标题:
交换变量值
如何将两个变量相互交换
作者:
beijingdbm
时间:
2015-5-24 10:20
提供两种方法,一种是利用指针,一种是利用引入第三变量
#include <stdio.h>
void update1(int num1, int num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
void update2(int *num1, int *num2) {
// int *num1 = &n1
// int *num2 = &n2
int temp = *num1;
*num1 = *num2;
*num2 = temp;
}
int main(int argc, const char * argv[]) {
int n1 = 10, n2 = 5;
// update1(num1, num2);
update2(&n1, &n2);
printf("%d, %d\n", n1, n2);
return 0;
}
复制代码
作者:
天是蓝色的
时间:
2015-5-24 10:27
共三种方法,一种第三方变量,一种疑或,另一种通过算数运算
作者:
星空眼泪
时间:
2015-5-24 10:34
视频中的又一种很简便的方法
作者:
13673696542
时间:
2015-5-24 10:42
楼上正解,不过没写示例代码,我给补充一下。
第一种方法:
int a, b, c; //其中a,b为要交换的变量,c为中间变量,数据的初始化略过。
c = a;
a = b;
b = c;
复制代码
第二种方法:
a = a ^ b;
b = a ^ b;
a = a ^ b;
复制代码
第三种方法:
a = a + b;
b = a - b;
a = a - b;
复制代码
作者:
李闯
时间:
2015-5-24 11:31
楼上打的 也是我想说的:lol
作者:
beijingdbm
时间:
2015-5-24 14:32
都是厉害啊 俺们属于菜鸟的额
作者:
青春印记深圳
时间:
2015-5-24 14:38
楼上正解请看
作者:
hui1107464497
时间:
2015-5-25 12:58
受教了啊
作者:
小龙女的萝卜
时间:
2015-5-25 18:21
都是高手大神啊 ,收益匪浅
作者:
小龙女的萝卜
时间:
2015-5-25 18:23
受益匪浅,又复习了下原来的知识
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2