两个数字交换(不使用临时变量)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个数字交换(不使用临时变量)相关的知识,希望对你有一定的参考价值。
#include<stdio.h> #include<stdlib.h> void swap(int* a, int* b)//普通交换 { int tmp = *a; *a = *b; *b = tmp; } //不使用临时变量 void swap1(int* a, int* b)//使用加减法 { *a = *a + *b; *b = *a - *b; *a = *a - *b; } void swap2(int *a, int *b)//使用异或 { *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; } int main() { int a = 10, b = 30; printf("a = %d,b = %d\n", a, b); swap(&a, &b); printf("a = %d,b = %d\n", a, b); swap1(&a, &b); printf("a = %d,b = %d\n", a, b); swap2(&a, &b); printf("a = %d,b = %d\n", a, b); system("pause"); return 0; }
以上是关于两个数字交换(不使用临时变量)的主要内容,如果未能解决你的问题,请参考以下文章