看板 C_and_CPP 關於我們 聯絡資訊
※ [本文轉錄自 Examination 看板 #1J37AWAe ] 作者: Sunofgod ( ) 看板: Examination 標題: [考題] 98年地特程式語言考古題 時間: Tue Feb 25 18:38:22 2014 http://wwwc.moex.gov.tw/ExamQuesFiles/Question%5C098/036339600.pdf 第二題 變數、繫結、和資料型態(20 分) Void sub() { int count; count = 7; while ( … ) { int count; count += 1;… } sum = count * 5;… (一)說明在 C++和 Java 語言中,上列敘述是否合法及其原因。 在C++中合法 但請問理由要怎講?? 我只知道while當中的count跟外面的count是擁有不同 的兩個記憶體,while中宣告的count的scope只在while的"{}"內 所以while的"{}"內用到的count都會去存取自己宣告的那個count 最後出了while,sum=count*5會是引用sub副程式一開始宣告的count=7的值 Java不熟 只知道大多地方跟C/C++很像 請問這部分是一樣的嗎? (二)請討論其中變數count的記憶體配置的繫結(binding)以及有效範圍(scoping)。 兩個count應該都是堆疊動態變數 也就是變數型態在compile時繫結 但記憶體的繫結發生在該行程式碼要執行時 sub函式一開始宣告的count的scoping是整個sub函式 while內宣告的count的scoping僅只在while的"{}"內 請問第一題該怎樣回答比較好? 第二題自己這樣寫有問題或者內容不足嗎? 謝謝回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.254.96.163
okstephen1:Java不會過 你可以講講Local Variable、生命週期之類的 02/25 21:34
Sunofgod:第一題的"理由"真的想不到該怎寫比較好.... 02/25 22:07
※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: Sunofgod (218.164.83.247), 時間: 02/26/2014 20:28:25
Sunofgod:這不大像是平常大家會問的問題 如果不能在這問請告知我會 02/26 20:29
Sunofgod:自刪 謝謝 02/26 20:29
kwpn:寫"…"編譯過的了? 02/26 21:34
AnyaAlstreim:寫"Void"編譯過得了? 02/27 04:04
MOONRAKER:公職考試的題目就別計較細節了 X) 02/27 12:22
Sunofgod:請問樓上意思是我這樣擬答算是可以囉?! 02/27 16:29
suhorng:意思是題目通常爛爛的 02/27 20:44
Sunofgod:唉 爛歸爛還是得想辦法搞清楚怎回答QQ 02/27 23:28