請寫出以下程式的執行結果,並分析原因。

2023-06-01 15:50:17 字數 2692 閱讀 2666

1樓:九月孤城

執行結果:81919

fun(a+fun(d));

第一次呼叫fun(d) 傳遞引數後p=2 你函式fun定義的靜態區域性變數d+=2 ->d=8;輸出8

然後掉fun(a+8) 傳遞引數後p=11 此時靜態區域性變數d=8 d+=11->d=19 輸出19

main()函式輸出19

我覺得你的主要疑問就是靜態區域性變數。

靜態區域性變數有以下特點:

該變數在全域性資料區分配記憶體;

靜態區域性變數在程式執行到該物件的宣告處時被首次初始化,即以後的函式呼叫不再進行初始化;

靜態區域性變數一般在宣告處初始化,如果沒有顯式初始化,會被程式自動初始化為0;

它始終駐留在全域性資料區,直到程式執行結束。但其作用域為區域性作用域,當定義它的函式或語句塊結束時,其作用域隨之結束;

2樓:初盛活你

答案是:8 19 19

首先fun(d)中的d是全域性變數中的d=2;帶入函式中。

得到靜態變數d=8;然後返回。(注意靜態變數的作用)繼續,fun(3+8)帶入函式。這時d=8。

所以得到的答案是3+8+8=19;

寫出下列程式執行結果? 5

3樓:施半

是 (a+b)/2+c/d 計算出結果了 再轉換成float的 一般計算過程所有的資料型別 先轉換成雙精度double 計算出結果了 再裝換成相應的輸出格式。

因為a b都是int,所以(a+b)/2的結果是2 後面的是 所以執行結果是。

4樓:匿名使用者

輸出結果為: a的print功能。 b的print功能。

p=&a; fun(p); p指向a,執行a::print() p=&b; fun(p); p指向b,執行b::print(),因為a::

print()是虛函式,被b::print()覆蓋。

5樓:閻貞

暗戀的程式執行結構的話,是直接點選回車鍵就可以彈出乙個動畫的,它是乙個動畫的程式。

6樓:佛晴波

printf("%d%d",*p++,a+2));改為 printf("%d%d",*p++,a+2));

可以成功執行,但是執行結果為空,無輸出。

7樓:匿名使用者

首先把電腦開啟然後點開左下角的程式運算專欄點選自動運算。

8樓:t小姐的z先生

1,-2 while y=2!=-1,執行--,此時y=1 進入do 完成do,x=2;與do連的while y==1,後y=0,進入do,x=1;與do連的。

【作業系統】執行下列程式,給出執行結果並分析執行結果?

9樓:匿名使用者

執行程式:?

建立子程序源程式。

執行結果:?

獲得父子程序的process identification分析執行結果:

建立新程序成功,出現兩個程序,乙個是子程序,乙個是父程序。

父程序的process identification=3!

子程序的process identification=4!

fork僅僅被呼叫一次,卻能夠返回兩次

1)在父程序中,fork返回新建立子程序的程序id=4;

2)在子程序中,fork返回0;

設有以下程式,程式執行後的輸出結果為,可以解釋一下為什麼嘛?

10樓:紫薇參星

你給的程式有幾個問題,wtu應為stu,且其末尾應加分號結束,200f太長,改為20f.

因為y=x所以y的初始化值被x的值覆蓋,y的值與x的值相同,因此輸出的是x初始化的值,輸出的是x的名字lin,性別f,成績和。

s表示輸出字串。

c表示輸出乙個字元。

因為是double型,所以預設保留6位小數,20f表示輸出整個數占20個字元(包括小數點),不夠在前面用空格補足。

表示輸出整個數占2個字元(包括小數點),超過2個以實際長度輸出,其中0表示沒有小數部分。

因此輸出下面結果。

請教高手JAVA請寫出下面程式的執行結果

父類是來tt,子類是test.程式的源主入口肯定是main方法了,第一步先建立乙個test型別的子類,這個時候new的是test型別的.在子類test被new的時候會預設呼叫父類的構造器 即tt的構造器.tt的構造被過載了,乙個帶引數和無引數的,因為你test的構造器在呼叫的時候是呼叫了有引數的 父...

以下程式的執行結果為什麼是

答案應該是 編譯的結果也是這樣,你的答案錯了吧。第乙個switch a 0 a 0為真,所以就是回swtich 1 執行答case1 switch b 0 b 0為假所以就是0因為下面沒有說明case 0的情況,而且第一層的swtich都沒有break所以繼續向下執行case0 switch c 5...

有以下程式程式執行後的輸出結果是

這個問題嘛,其實比較簡單。由於for迴圈裡面沒有趨近迴圈結束的語句,所以每次for迴圈都是要執行的。i 0時,兩個if都不成立,所以直接執行i 和s 1這兩句,使i 1 以此類推,i 2時,也是這樣執行,最後i 3i 3進入迴圈內的第乙個if語句判斷是成立的,所以執行continue,也就是跳出本次...