0
点赞
收藏
分享

微信扫一扫

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

有点d伤 2022-05-17 阅读 80

方法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 条评论