1.临时变量法
要领诠释:采纳临时变量的要领,作为中心过渡,这是最简朴也是人人最轻易想到的要领,此法在种种场所运用极多,应当熟练控制。
#include<stdio.h> int main(void){ int a=1,b=2,tmp; tmp =a; a=b; b=tmp; printf("%d %d",a,b); return 0; }
2.加减交流法
要领诠释:望文生义,运用数学中的加减法举行交流,先把a+b的效果临时先保存在变量a中,然后经由过程这转变后的a和原始的b举行减法就能够获得交流后的b,瑕玷是a+b的效果能够越界。
#include<stdio.h> int main(void){ int a=1,b=2; a = a + b; b = a - b; a = a - b; printf("%d %d",a,b); return 0; }
3.乘除交流法
要领诠释:该要领与加减法相似,就是把加减替换为乘除,瑕玷是由于采纳了乘法,因而比加法更轻易越界,运用时应郑重。
#include<stdio.h> int main(void){ int a=1,b=2; a = a * b; b = a / b; a = a / b; printf("%d %d",a,b); return 0; }
4.异或交流法
要领诠释:奇妙运用异或运算来举行交流,这类要领重要利用了异或的特征a^b的值先保存到a,由于a^b^b=a所以能够顺利完成交流,这类要领是很圆满的,不存在越界的题目。
#include<stdio.h> int main(void){ int a=1,b=2; a = a ^ b; b = a ^ b; a = a ^ b; printf("%d %d",a,b); return 0; }
5.移位交流法
要领诠释:这类要领不太经常使用,道理是把本来的int范例的a的值拆分红高16位和低16位,相当于多了16位的暂存空间能够周转,瑕玷是假如a或许b超过了16位,这类要领就会失足,此要领较庞杂且轻易失足,因而不发起人人运用。
#include<stdio.h> int main(void){ int a=1,b=2; a <<= 16; a |= b; b = a >> 16; a = a & 0xffff; printf("%d %d",a,b); return 0; }
深思总结:
实在这五种要领从本质上分就三大类,一是临时变量,二是加减乘除运算,三是位运算。由于其各自优瑕玷的题目,我个人发起人人只管运用临时变量法和异或交流法这两种,个中临时变量法在其他的处所也运用极多,人人重点控制,就讲到这里吧,感谢人人。
相干教程:C言语教程
以上就是【C言语】5种妙招教你轻松搞定变量值交流的细致内容,更多请关注ki4网别的相干文章!