0
点赞
收藏
分享

微信扫一扫

c语言面试经典题

腊梅5朵 2023-03-19 阅读 83

题:在不创建第三个变量的情况下实现a=3,b=5,两个数的交换。

int a = 3;
int b = 5;
printf("交换前:a=%d b=%d\n", a, b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("交换后:a=%d b=%d\n", a, b);

上面为第一种方法,通过按(二进制)位异或‘^’实现。

int a = 3;
int b = 5;
printf("交换前:a=%d b=%d\n", a, b);
a = a + b;
b = a - b;
a = a - b;
printf("交换后:a=%d b=%d\n", a, b);

第二种方法,通过a,b两个数的加减实现。

举报

相关推荐

0 条评论