两个变量交换的方法

c语言中两个变量交换的方法

1.建立临时变量的的方法

#include <stdio.h>
int main(){
    
    
    int a=5;
    int b=3;
    int c=0;
    printf("a=%d,b=%d\n",a,b);
    c=a;
    a=b;
    b=c;
    printf("a=%d,b=%d\n",a,b);
    return 0; 
}

2.不建立临时变量的方法

2.1 但是该方法存在溢出问题

#include <stdio.h>
int main(){
    
    
    int a=5;
    int b=3;
    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);
    return 0; 
}

2.2使用异或的方法 但是该方法不容易让人理解

#include <stdio.h>
int main(){
    
    
    int a=5;
    int b=3;
    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);
    return 0; 
}

运行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44518702/article/details/113109570