交换两个int变量的值,不能使用第三个变量——两种方法

阅读 80

2022-05-17

方法1:

int main()
{
    int a = 8;
    int b = 4;
printf("before:a=%d b=%d\n", a, b);
    a = a + b;
    b = a - b;
    a = a - b;
 printf("after:a=%d b=%d\n", a,b);
    return 0;
}
方法2:
int main()
{
    int a = 8;
    int b = 4;
    printf("before:a=%d b=%d\n", a, b);
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    printf("after:a=%d b=%d\n", a,b);
    
    return 0;
}
"^" 是按位或,8的二进制为1000,4的二进制为0100
第一步: a=1000^0100=1100
第二步: b=1100^0100=1000
第三步: a=1100^1000=0100

交换两个int变量的值,不能使用第三个变量——两种方法_位或

精彩评论(0)

0 0 举报