fun int x,int y,int zz x x y ymainint a 31 fun 5,2,aprintfd ,aa的值為多少

2021-04-17 14:43:37 字數 2983 閱讀 5540

1樓:半季流年

31你定義的函式fun沒有返回值,而且引數不是引用型的,所以形參的改變不會影響實參,即a的值,輸出的是31

2樓:幸福的蘭花草

是31a=31;

fun(5,2,a);

是把a的值賦值給z

z是形參,z的值改變不影響a的值的改變,執行結束後,a的值仍然是31不變。

3樓:匿名使用者

31,a的值沒有變過,fun函式裡用的z只是用了a值,改它沒有改a.

fun(int x,int y,int z){z=x*x+y*y;}main(){int a=31;fun(5,2,a);printf("%d",a);} 改了原題但還是有問題

4樓:

這個主要是形參

bai與實參的關係 。

du在函式的引數列zhi表裡的,是形參dao,它是內對實參的一個拷貝, 但是容它們不是在內在同一個塊。所以對形參的改變不會影響實參的值 。

c++可以通過引用,也就是別名來改變, 比如把函式定義成 void fun(int,int,int &)

這樣在函式裡,對第三個引數做改變,相應的實參也會改變,因為它們是同一個。 這就是引用型別的作用。

也可以通過指標所指來修改地址值 也就是 void fun (int ,int int * )

5樓:神龍見尾不見

原因是fun(5,2,a)中a是做的形參,形參的改變並不改變實參的值。要想讓結果為29 ,就使用指標吧

6樓:zwh寧靜致遠

把 fun(5,2,a);改為改為int fun(int x,int y,int *z)試一下。

func(int a,int b) {return a+b);} main() {int x=6,y=7,z; z=fun(fun(x++,y++),fun(--x,--y)); printf

7樓:匿名使用者

首先你要知道以下幾點規則

1.x++表示這次運算還是採取原來的x值,運算結束後將x+1

2.--x表示本次內計算x就採用容原來的值-1進行計算

3.函式處理順序為自右向左;

下面開始分析z=fun(fun(x++,y++),fun(--x,--y))

(1)根據規則3先計算fun(--x,--y),根據規則2,此時採取x=6-1,y=7-1帶入計算得到

fun(--x,--y)=11;此時x=5,y=6

(2)根據規則3再計算fun(x++,y++),根據規則1,此時採取x=5,y=6帶入計算得到fun(x++,y++)=11,運算結束後再根據規則1繼續計算x=5+1,y=6+1;此時x=6,y=7

(3)有了fun(--x,--y)和fun(x++,y++)的值,第三部就是他倆相加為11,此時x=6,y=7

8樓:匿名使用者

結果bai為22

func(int a,int b)

main()

由於編du

譯的zhi某些規則dao,x=5,y=6

func的返回值為回11

最終結果答為22

fun(int x, int y){return(x+y);} main() { int a=1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf

9樓:匿名使用者

a++=a+1=2,b++=b+1=3,a+b=5 因為逗號表示式 所以取值5,c++ c值為c+1=4 c++為3,帶回x+y sum就是5+c++的值,而不是5+c的值 所以答案為8 選c

10樓:匿名使用者

a=a+1,a=2;

b=b+1,b=3;

(a++,b++,a+b)是逗號表示式,為5;

c=c+1,c=4;

sum=fun(5,4);

最終結果,sum=5+4=9;

11樓:此人滿嘴胡言

沒懂是什麼意思 想做什麼

12樓:匿名使用者

這題你問的什麼bai意思du???是想問結果是什麼麼zhi?如果只是問結果,那dao哪有什麼版步驟。。。

這個權無非就考慮以下幾個點:

1。 (x,y,z) 返回的是哪個;

2。 var++操作是在什麼時候呼叫(傳遞前還是傳遞後);

3。引數傳遞(值,引用; 不過貌似不是這段**關注的東西);

光知道結果沒用,自己有編譯環境的話,針對上面的點各寫一小段**跑一下,

搞明白上面3個問題,這個題的答案就出來了。

純教學用**。。。如果誰膽敢在工作中寫這種**,保準被leader狠k。

以下程式段的輸出結果是 #include int fun(int x,int y){return (x+y);} main() {int a=1,b=2

13樓:yhy0302獅子

以下程式段的輸出結果是:8

14樓:愛眼護眼小天使

a++,b++相當於先取出a,b的值再自加,而當計算a+b時自加已完成,故a+b的值為5再加上3(即c的值),即sum==8

15樓:匿名使用者

sum=8

(a++,b++,a+b)->(a=a,a=a+1,b=b,b=b+1,a+b;)->其本質就是求a+b的值

a++,d++,a+b之間是逗號運算子,所以他們同級,從左往右依次內計算,最後的()內容的值為5

在進行函式呼叫fun(5,c++)

又因為c++的含義是先進行fun(5,3)的運算在進行c=c+1的運算

所欲sum=fun(5,3)=5+3=8

3十3十3十3一3寫成乘法算式,33333寫成乘法算式要寫出得數嗎

3十3十3十3一3 3x3 9希望能幫到你 3 3 3 3 3 3x4 3 3x 4 1 3x3 9 3 3 3 3 3 3 1 1 1 1 1 3 4 1 3 3 3 3 3寫成乘法算式要寫出得數嗎 3 3 3 3 3可以寫成3 5,3 5 15。copy 3 3 3 3 3表示有5個3相加bai...

在3十3十3十3十3中,相同加數是相同加數的個數是

在3十3十3十3十3中,相同加數是 3 相同加數的個數是 5 3十3十3十3相同加數學是多少?相同加數的個數是多少?3十3十3十3相同加數學是乘法,3 3 3 3 3 4,相同加數的個數是乘數。3十3十3十3相同加數是 7十7十7十7中,相同的加數是 有 個相同加數 7 7 7 7中,相同的加數是 ...

函式y sin(3x3)cos(x6) cos(3x3)cos(x3)的影象的一條對稱軸的方程是

解 cos x 3 sin 2 x 3 sin 6 x sin x 6 y sin 3x 3 cos x 6 cos 3x 3 cos x 3 sin 3x 3 cos x 6 cos 3x 3 sin x 6 sin 3x 3 x 6 sin 2x 2 cos 2x cos2x,它的一條對稱軸方程...