交换两个数的值

来源:互联网 发布:阿里云学生认证条件 编辑:程序博客网 时间:2024/05/04 18:38

不使用中间变量,交换两个数的值。

1.异或运算符

#include <stdio.h>int main(){    int a = 3;    int b = 6;        printf("a = %d\tb = %d\n", a, b);    a = a ^ b;    b = a ^ b;    a = a ^ b;    printf("a = %d\tb = %d\n", a, b);    return 0;}[root@localhost 0721]# ./main a = 3   b = 6a = 6   b = 3
不使用中间变量交换两个数的值中,使用异或运算符,数据没有限制。

2.加减运算符

#include <stdio.h>int main(){    int a = 3;    int b = 6;        printf("a = %d\tb = %d\n", a, b);    a = a + b;    b = a - b;    a = a - b;    printf("a = %d\tb = %d\n", a, b);    return 0;}[root@localhost 0721]# ./main a = 3   b = 6a = 6   b = 3
使用加减运算符交换两个数,数据有限制。不能让一个很大的数加上一个很小的数,会造成数据丢失!

3.乘除运算符

#include <stdio.h>int main(){    int a = 3;    int b = 6;        printf("a = %d\tb = %d\n", a, b);    a = a * b;    b = a / b;    a = a / b;    printf("a = %d\tb = %d\n", a, b);    return 0;}[root@localhost 0721]# ./main a = 3   b = 6a = 6   b = 3
使用乘除运算符交换两个数,数据也有限制。数据里面不能有0,否则结果不正确!


0 0
原创粉丝点击