swapint xint y 實現對x和y值的交換

2021-05-31 22:21:24 字數 3413 閱讀 1473

1樓:放縱思想

#include

void swap1(int a,int b) // 不能變void swap2(int *a,int *b)// 能變void swap3(int &a,int &b)// 能變int main()

理解一下c語言的函式傳值方式:值傳遞和引用傳遞,就明白了。

2樓:伏從靈

swap( int x, int y)實現對x和y值的交換。則執行語句swap(a[0], a[1]))後,a[0], a[1]的值?

a[0]和a[1]的值不變。

函式swap(arr,n)可完成對arr陣列從第1個元素到第n個元素兩兩交換。在執行呼叫函式中的如下語句後,a[0]和a[1]的分別是什麼?a[0]=1;a[1]=2; swap(a,2);

a[0]=2

a[1]=1

swap( int x, int y)實現對x和y值的交換。則執行語句{int a[2]={1,2};swap(a[0], a[1]);}後,a[0...

3樓:匿名使用者

swap( int x, int y)實現對x和y值的交換 , 但從函式定義情況看,只是對形參進行了資料修改,不會影響到實引數據。因此,你的結果不會變化 , 仍然是a[0]= 1 a[1]= 2

4樓:

根據形式引數可以判定,swap(a[0], a[1]);}後,a[0],a[1]的值不變。

編寫一個交換函式swap(int *x,int *y),實現2個數的交換,並在主函式中呼叫,最後輸

5樓:匿名使用者

#include

void swap(int *x,int *y);

int main(void)

void swap(int *x,int *y)

6樓:

^#include //新增頭文

件void swap(int *x,int *y);

int main(void)

void swap(int *x,int *y)通過

7樓:匿名使用者

第一空:swap(&a,&b);

第二空:

int t;

t=*x;

*x=*y;

*y=t;

8樓:

設箇中間變數,利用中間變數將2個數交換一下即可

void swap2(int *x,int *y) int swap1(int *x,int *y) { int *t; t=x;x=y;y=t; }為什麼不能實現x,y的交換

9樓:匿名使用者

當然不能交換了

void swap1( int *x, int *y)void swap2( int *x, int *y)int main()

指標就是地址,相當於鑰匙。若有指標變數p, *p就是用鑰匙p開啟盒子存取內容。

所以swap2就開啟了盒子,改變了盒子裡面的內容,也就是儲存的資料。

而swap1只是換了鑰匙,並沒開啟盒子,所以盒子(變數a和b)裡面的內容並沒有改變。

10樓:匿名使用者

兩個函式定義,到底呼叫的是哪個

設有語句 int a=3 ; 則執行了語句 a+ = a * a後,變數a 的值是( ) a、3 b、0 c、9 d、12

11樓:匿名使用者

賦值運算是從右到左的上面的語句運算順序是:a-=a*a;a+=a;計算第一個後a的值是-6,再計算第二個,a的值就是-12

12樓:日出日落三十天

d a=3+3*3=12

若有定義語句int a=12,則執行表示式a+=a-=a+a後a的值為多少?

13樓:希聲和寡

a+=a-=a+a,運算子和結合性,

bai由運算子優

先級,du+優先順序為zhi4,-=和+=優先順序為14,+結合方向從dao左至回右,+=和-+從右至左,

所以:先計答算 (a+a),a=12,a+a=12+12=24再計算 a-=(a+a),即a=a-(a+a)=12-24=-12,最後計算 a+=a, 即a=a+a=-12+(-12)=-24

14樓:最萌美少女

若有定義語句int a=12,則執行表示式a+=a-=a+a後a的值為-24。

計算過程:

a+=a-=a+a,運算子和結合性,由專運算子優先順序,+優先順序為屬4,-=和+=優先順序為14,+結合方向從左至右,+=和-+從右至左。

所以:先計算 (a+a),a=12,a+a=12+12=24,再計算 a-=(a+a),即a=a-(a+a)=12-24=-12,最後計算 a+=a, 即a=a+a=-12+(-12)=-24。

15樓:希聲和寡

a+=a-=a+a,運算子和結合性,由運算子優先順序,+優先順序為4,-=和+=優先順序為14,+結合方向從左至右,專+=和-+從右至左,

所以:屬

先計算 (a+a),a=12,a+a=12+12=24再計算 a-=(a+a),即a=a-(a+a)=12-24=-12,最後計算 a+=a, 即a=a+a=-12+(-12)=-24

設有int x=2,y=2,a;,執行語句a=(x=x +1)‖(y=y +1);後,則變數x, ,a的值分別是

16樓:

結果是x==3,a==1,y==2。

17樓:匿名使用者

a=(x=x +1)||(y=y +1);

一句一句來哦,

先看 或運算 || ,

m || n, 先執行m,

如果 m為真,返回真。(n 部分不會被執行)如果 m為假,則執行n,

如果 n 為假,返回假,

如果 n 為真,返回真。

m =  (x = x + 1)

所以 x 加了1 哦, x = 3 了,是 m =3 是真哦,所以不用執行 n 了。

a = 1 真

x = 3

y = 2

18樓:匿名使用者

這裡涉及到的運算子優先順序為:加號為4級,取模(求餘)和乘除為3級,(int)是強制型別轉換,為2級,而括號為最高的1級,因此該式首先計算x+y=8.5,然後取整,為8,剩下的取模和乘除運算依次從左到右,1%2=1,然後乘以8,等於8,接下來8%2=0,最後除以4,等於0,然後再加上x,因此最後的結果是x,即3.6。

19樓:熱情的

m||n,錯字太多了吧

如何用C 實現對姓名按拼音排序

這裡的要點在ascii值,每個字母都有對應的ascii值,所以只需比較姓名的ascii值就可以了 如果按照abc的順序排列就是按照ascii值從小到大排列 include include void main 定義四個字串 char p 4 for int y 0 y 4 y for int i 0 ...

jquery實現對輸入為空或空格的判斷

document ready function var nameval name val if trim nameval else 怎麼用js驗證輸入框是否為空,當輸入空格的時候也判斷該輸入框為空 測試輸入框 js function chkblk ele jquery判斷文字框輸入為空 if判斷那應...

對實現民族團結的認識,談談你對民族團結的認識

三個離bai不開。即 少數民族du 離不開漢族,漢族離zhi不開少數民族,dao各民族專之間相互離不開。我國屬是一個多民族的國家,處理好民族關係,是搞好各民族之間的團結的關鍵。因此,民族團結,是處理民族關係的重要原則,民族團結和民族凝聚力是衡量一個國家綜合國力的重要標誌,民族團結是社會和諧穩定的基礎...