Método para intercambiar los valores de dos variables sin usar la tercera variable

1. Utilice la definición de macro:

#definir SWAP (X, Y) (X ) + = (Y); (Y) = (X) - (Y); (X) = (X) - (Y);

2. Use el operador XOR

int x = 21 ;
int y = 12 ; 

x ^ = y; 
y ^ = x; 
x ^ = y;

 

#include <stdio.h> 
#include <stdlib.h> int main ( int argn, char * argv []) 
{ int i = 0 ;
    int j = 0 ; if ((++ i> 0 ) || (++ j> 0 )) 
    { 
        printf ( " i =% d \ n " , i); 
        printf ( " j =% d \ n " , j); 
    } int x = 21 ;
    int y = 12 ; 
    x ^ =


    
    
    

    
y; 
    y ^ = x; 
    x ^ = y; 

    printf ( " aquí x =% d \ n " , x); 
    printf ( " aquí y =% d \ n " , y); 

    SWAP (x, y); 

    printf ( " aquí x =% d \ n " , x); 
    printf ( " aquí y =% d \ n " , y); 
    
    devuelve  0 ; 
}

 

Supongo que te gusta

Origin www.cnblogs.com/weiyouqing/p/12689264.html
Recomendado
Clasificación