問題詳情

24. Procedure Modify 定義如下:procedure Modify (Y)Beginprint the value of X;Y = 9;print the value of Y;End假設X 是global variable,如果Modify 是call by reference,請問執行下列程式片段,會印出何值?(此三值以分號隔開。)X = 5;Modify (X);print the value of X;
(A) 9;9;9
(B) 5;9;9
(C) 5;9;5
(D) 5;5;5

參考答案

答案:B
難度:適中0.427184
統計:A(4),B(44),C(35),D(9),E(0) #
個人:尚未作答書單:全域變數

用户評論

【用戶】Eric Juan

【年級】高二上

【評論內容】這題怎麼解阿??

【用戶】Hsi-chia Tsen

【年級】國三下

【評論內容】global variable全域變數:於程式編譯 之後就 存在一直到程式的結束才消失,其使用範圍為自檔案的宣告或定義處開始至檔案的結束,其名稱於一個檔案也必須是唯一的。缺點是因global variable的特性,函數的呼叫會改變函數外變數的值01  procedure Modify (Y) Begin 0203  print the value of X; 04  Y = 9; 05  print the value of Y; 0607  End 08  X = 5; Modify (X); print the value ofX;X 是globalvariable --結果會是一開始設定的5∴第03行時,列印出來的值是5在第04行時Y給值=9會牽涉到兩件事1) Modify 是call byreference--存放Y變數的記憶體值被改成92)08列 Modify (X)的值因為call01 Modify (Y...