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,也就是跳出本次...