C学习杂记(二)笔试题:不使用任何中间变量如何将a、b的值进行交换
生活随笔
收集整理的這篇文章主要介紹了
C学习杂记(二)笔试题:不使用任何中间变量如何将a、b的值进行交换
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
常見的方法如下
void swap1(int *a, int *b) {int temp = *a;*a = *b;*b = temp; }不使用中間變量的方法
void swap2(int *a, int *b) {*a = *a + *b;*b = *a - *b;*a = *a - *b; }這種方法是不可取的,因?yàn)閍+b和a-b的運(yùn)算可能會(huì)導(dǎo)致數(shù)據(jù)溢出。
void swap3(int *a, int *b) {*a^=*b;*b^=*a;*a^=*b; }用按位異或的方法可以解決該面試題。
個(gè)人吐槽:感覺這道題不實(shí)用。
總結(jié)
以上是生活随笔為你收集整理的C学习杂记(二)笔试题:不使用任何中间变量如何将a、b的值进行交换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 顺丰续重多少钱一公斤啊?
- 下一篇: C语言代码规范(七)#define