#include <stdio.h>
void swap(int *a, int *b);
void swap1(int *a, int *b);
int main()
{
int a = 3;
int b = 4;
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);
return 0;
}
void swap1(int *a, int *b)
{
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
void swap(int *a, int *b)
{
*a = *b - *a;
*b = *b - *a;
*a = *b + *a;
}
交换两个数,不能用中间变量
于 2022-12-26 18:36:52 首次发布