两个数字交换(不使用临时变量)

来源:互联网 发布:无法备案的域名 编辑:程序博客网 时间:2024/06/09 18:51


#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;}

wKioL1a7DL3i0RjLAACbSXIJeW8185.jpg

0 0
原创粉丝点击