真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言函數(shù)為什么不能交換,c語(yǔ)言怎么交換

C語(yǔ)言,這樣為什么不可以實(shí)現(xiàn)兩個(gè)數(shù)值的交換?

因?yàn)樵趕wap函數(shù)中,a b是x y的數(shù)據(jù)復(fù)制品,其變化與X y本身無(wú)關(guān),如果要交換,需要傳遞x y的地址到子函數(shù)中,進(jìn)行交換!

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),黃平網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:黃平等地區(qū)。黃平做網(wǎng)站價(jià)格咨詢:13518219792

1 #include stdio.h

2 void swap(int *a ,int *b )

3 {

4

5 int temp;

6 temp=*a;

7 *a=*b;

8 *b=temp;

9 }

10 int main()

11 {

12 int x=3;

13 int y=4;

14 swap(x, y);

15 printf("%d%d",x,y);

16 }

C語(yǔ)言,函數(shù)來(lái)交換兩個(gè)數(shù)值,為什么我運(yùn)行的結(jié)果兩個(gè)數(shù)值沒(méi)有交換?

你交換的只是swap函數(shù)內(nèi)的局部變量n,m值,應(yīng)該改成這樣

#includestdio.h

void?swap?(int?*n,int?*m)?

{

int?temp;

temp=*n;

*n=*m;

*m=temp;

}

void?main()

{

int?a=10,b=20;

swap(a,b);

printf("a=%d,b=%d\n",a,b);

}

注意函數(shù)形參的傳值和傳地址的區(qū)別

C語(yǔ)言中 為什么不能用函數(shù)互換兩個(gè)值~

C語(yǔ)言中是可以用函數(shù)互換兩個(gè)值的。

方法如下:

#include"stdio.h"

int swap(int *a,int *b)

{

int temp;

temp=*a;

*a=*b;

*b=temp;

}

main()

{

int x,y;

printf("請(qǐng)輸入x與y的值,用空格隔開(kāi)\n");

scanf("%d %d",x,y);

printf("x=%d,y=%d\n",x,y);

swap(x,y);

printf("交換后\nx=%d,y=%d\n",x,y);

}

C語(yǔ)言中交換兩個(gè)數(shù)利用函數(shù)的調(diào)用為什么不行了。

因?yàn)樵诤瘮?shù)中的參數(shù),并不是調(diào)用者的變量,而是臨時(shí)申請(qǐng)的變量a和b存放main函數(shù)中變量a和b的值,并在函數(shù)中用來(lái)計(jì)算,在fun中給a和b賦值都是在操作這兩個(gè)臨時(shí)申請(qǐng)的變量,函數(shù)返回后,這兩個(gè)變量被舍棄,函數(shù)調(diào)用也沒(méi)有將這兩個(gè)臨時(shí)變量的值返回給main函數(shù)中調(diào)用使用的參數(shù)功能。

所以,在函數(shù)中要操作調(diào)用者申請(qǐng)的變量,需要給出它們的指針,函數(shù)中用指針來(lái)找到這些變量的位置和內(nèi)容。


網(wǎng)站題目:c語(yǔ)言函數(shù)為什么不能交換,c語(yǔ)言怎么交換
網(wǎng)站網(wǎng)址:http://weahome.cn/article/hsgjhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部