#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)建中間變量的另一種方法:
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比安居網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式安居網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋安居地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
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; }
文章標(biāo)題:交換兩個(gè)整型變量的值
本文路徑:http://chinadenli.net/article26/gigejg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、域名注冊、面包屑導(dǎo)航、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)