您好,登錄后才能下訂單哦!
#include<stdio.h> #include<stdlib.h> int main() { int a = 1; int b = 2; int tmp = a; a = b; b = tmp; printf("a = %d b = %d\n",a,b); system("pause"); return 0; }
上面是用創(chuàng)建中間變量的方法交換,下面是不創(chuàng)建中間變量的另一種方法:
a = a+b; b = a-b; a = a-b; 當(dāng)然還可以用異或: a = a^b; b = a^b; a = a^b; 以上都是在main函數(shù)中實(shí)現(xiàn),下面一種方法創(chuàng)建了函數(shù),用指針來交換兩個(gè)整型值: #include<stdio.h> #include<stdlib.h> void Swap(int *p1, int *p2) { int tmp = *p1; *p1 = *p2; *p2 = tmp; } int main() { int a = 1; int b = 2; Swap(&a, &b); printf("a = %d b = %d\n",a,b); system("pause"); return 0; } 然而如果Swap函數(shù)寫成下面這樣是錯(cuò)誤的,只是進(jìn)行了值傳遞,上面的方法傳的是地址 void Swap(int num1, int num2) { int tmp = num1; num1 = num2; num2 = tmp; }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。