如何交换两个变量的值而不借助于临时变量
如何交换两个变量的值?一般我们是这样做的:
int a = 10;  
int b = 20;  
  
int temp = a;  
a = b;  
b = temp;  
这样借助于第三个临时变量,清晰易懂。如何不借助于第三个临时变量来实现两个数值的交换?
#include <stdio.h>  
  
int main()  
{  
    int a = 10;  
    int b = 20;  
    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;  
}  
输出:
交换前:a = 10, b = 20  
交换后:a = 20, b = 10  
关键代码:
a = a + b;  
b = a - b;  
a = a - b;  
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号