给定两个整形变量的值,将两个值的内容进行交换(C语言)

xiaoxiao2021-02-28  27

 

    第一种方法:

        定义一个临时变量temp来进行a和b的值交换,代码如下:

 

#include <stdio.h> int main () { int a = 5; int b = 15; int temp = 0; printf("初始值: a=%d, b=%d\n",a,b); temp = a;//temp=5 a = b;//a=15 b = temp;//b=5 printf("交换后: a=%d, b=%d\n",a,b); return 0; }

 

 

    

第二种方法:

        不定义临时变量,通过利用a和b差值(也可以利用其他运算)进行交换,代码如下:

   

#include <stdio.h> int main () { int a = 5; int b = 15; printf("初始值: a=%d, b=%d\n",a,b); a = a-b;//a=-10 b = b+a;//b=5 a = b-a;//a=15 printf("交换后: a=%d, b=%d\n",a,b); return 0; }

第三种方法:

        不定义临时变量,通过异或(对两个数二进制各个比特位进行异或,相同为0,相异为1)的方法对a和b的值进行交换,代码如下:

 

#include <stdio.h> int main () { int a = 5; int b = 15; printf("初始值: a=%d, b=%d\n",a,b); a ^= b; b ^= a; a ^= b; printf("交换后: a=%d, b=%d\n",a,b); return 0; }

 

 

 

转载请注明原文地址: https://www.6miu.com/read-2627871.html

最新回复(0)