關於C的問題funx,y與funy,x怎麼

2021-03-04 00:12:40 字數 1086 閱讀 6102

1樓:暮影

您好,在第一copy次呼叫函式的時候,可以看見引數y 是按地址呼叫,就是說會改變實質的值的,而引數x是按值呼叫的,不會影響主函式裡面的x的值,

第一次呼叫的值如下:

x+=y; //x=15

y+=x;//y=25,因為是按地址呼叫,主函式裡面的y也改變了,所以y=25

第二次呼叫:

x+=y;// 這裡原x=25,y=5;

y+=x;//則這裡y=35,因為這個引數改變的是實參x所以得出你輸出的那個結果

2樓:匿名使用者

&這個是引用的意思。

第一次fun(x,y),即fun(x=5,y=10),x+=y,x=5+10=15 y+x=x, y=y+x ,y=10+15=25

因為y是引用的,內即 main函式裡的y=25.

同理第二容次 x 被引用 fun(x=10,y=25) ,x+=y ,x=10+25=35

所以mian中x = 35

c++問題下面**中這句話那個(x,y) c++ fun[i](x, y) 什麼意思

3樓:愛你飛天夢

typedef double (*tpfun) (double x, double y);

理解了這一層,題主的問題就很好理解了

z=fun(fun(x++,y++),fun(--x,--y));具體呼叫過程。我做出來26,問了很多人都是26。答案是22.求詳細過程

4樓:漂流的

先呼叫fun(--x,--y),再呼叫fun(x++,y++)。

下面這個程式可以證明

這個程式和你的相同型別,先執行的是fun(a--,b--)如果這樣還是看不懂 那我也沒辦法了

5樓:萌哆啦a萌

應該是答案錯了

如果是return a+b 的話確實是26

如果是return b+a的話就是22

6樓:盤庚武丁

c語言的引數呼叫順序是從右向左儲存引數的,所以先執行--

關於c語言的問題,關於C語言的問題。

題1 include int main 題2 include int main 題3 include int main 第1個題目 就是判斷while 括號裡面的值是否為真,因為加了個!所以 k 0 n 為真時while裡面的判斷語句就為假,因為 為邏輯與,就是判斷 兩邊的式子是否為真,當k 0為真...

C語言小問題,關於,關於C語言的小問題?

a b max a max b 語法錯誤,該為 a b max a max b 另外注意 printf 最大值為 c n c 改正為printf 最大值為 d n c 已測試關於i 和 i的區別,如果沒有賦值的話,他們結果是沒區別的,關於他們的區別,我舉例說明 1 int i 0,a a i 這裡結...

C語言與C 的問題

大多數的計算機語言都一樣,開始部分都比較簡單,c和c 中都比較重要的部分就是指標,這也是c與c 的獨有的,c 比c多了物件導向這方面,主要就是類了,把這兩塊學好就是掌握了重點,c 是c的拓展,能相容c。計算機語言都差不多,希望你在學習時多注意總結演算法,這是很重要的一點,演算法是計算機程式設計的核心...