Re: [問題] htc考古題解答請益

看板C_and_CPP作者 (好人超)時間14年前 (2011/08/17 12:33), 編輯推噓9(9036)
留言45則, 9人參與, 最新討論串2/2 (看更多)
※ 引述《a2975313 (GN)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : C/C++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 問題(Question): : 2.填充題,輸入任意三個整數,最後可以輸出最小的那個 : int Min(int a,int b, int c) : { : (a<=b && a<=c) ? return a : ________________ : } 感謝這位板友 → mikker:2. return Min(b,c,a) 08/17 11:28 所以答案可以寫 int Min(int a, int b, int c) { return (a<=b && a<=c) ? a : Min(b,c,a); } 或者 推 ericinttu:return (a<=b && a<=c) ? a : (b<c)?b:c; 08/17 12:52 不過如果一定要把 return 寫在中間的話...我想不出來 XD : 5.計算題,考#define位置的觀念 : #define xxx yyy : 函數A : 函數B : 與 : 函數A : #define xxx yyy : 函數B : 兩種情況時,A B輸出的結果會不會有差別? #define X 100 void A() { printf("%d\n", X); } void B() { printf("%d\n", X); } 與 void A() { printf("%d\n", X); } #define X 100 void B() { printf("%d\n", X); } 寫個 main 來測試 int main() { A(); B(); } 試著執行看看就知道有沒有差別了 : 9.計算題,考變數生命週期的觀念 : 給你一段程式碼 : 問你local.global.static變數最後的值會是多少? : 補:請教local.global.static這三個東西的特性 int globalVar; void foo1() { int localVar = 0; static int staticVar = 0; localVar++; staticVar++; globalVar++; printf("[foo1] local: %d, static: %d, global: %d\n", localVar, staticVar, globalVar); } void foo2() { int localVar = 0; static int staticVar = 0; localVar++; staticVar++; globalVar++; printf("[foo2] local: %d, static: %d, global: %d\n", localVar, staticVar, globalVar); } int main() { foo1(); foo2(); foo1(); foo2(); } 請隨意改變 main 裡面呼叫 foo1() 與 foo2() 的次數 觀察印出的結果 對了,順便提一下,我面試的公司裡面,只要有考C的都很喜歡問static...XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.40 ※ 編輯: james732 來自: 140.117.171.40 (08/17 12:34)

08/17 12:39, , 1F
考 java 的也會問 ? XD
08/17 12:39, 1F
Java 我只考過 hTC,確實有問 static public class Test { static { System.out.println("Hello"); } public static void main(String[] args) { System.out.println("YA"); } } 我記得還有好幾個 println 出現在不同的地方 然後問最後的執行結果會長什麼樣子之類的 ※ 編輯: james732 來自: 140.117.171.40 (08/17 12:43)

08/17 12:41, , 2F
C語言 static 很特別啊!也可修飾 func.
08/17 12:41, 2F
我到後來幾乎都是機械性的回答了 「static在C語言裡面有三種用法,分別修飾區域變數、全域變數、函式,效果是ooxx 如果是C++的話就多了修飾成員函式跟成員變數,效果是oooxoxx」 一口氣說完 XD 主考官就直接下一題了 還遇過筆試問static,我直接說「這題用寫的好麻煩,我可以用講的嗎」 XDDD ※ 編輯: james732 來自: 140.117.171.40 (08/17 12:47)

08/17 12:52, , 3F
return (a<=b && a<=c) ? a : (b<c)?b:c;
08/17 12:52, 3F

08/17 12:52, , 4F
不太想變成遞迴解法 XD
08/17 12:52, 4F

08/17 12:53, , 5F
其實樓上的這個解法我也覺得比較簡單 XDD
08/17 12:53, 5F
※ 編輯: james732 來自: 140.117.171.40 (08/17 12:53)

08/17 12:54, , 6F
? () : () 裡面可以放什麼東西, 可能依compiler而不同吧
08/17 12:54, 6F

08/17 12:54, , 7F
我記得那個在C標準的syntax是有規定的...應該不是未定義?
08/17 12:54, 7F

08/17 12:56, , 8F
我不是指未定義, 而是某些環境下容許放 return (可能啦
08/17 12:56, 8F

08/17 12:58, , 9F
誤會你的意思了XD 了解
08/17 12:58, 9F

08/17 12:59, , 10F
印象中以前的編譯器會比較寬鬆一點,也許Turbo C系列會過
08/17 12:59, 10F

08/17 13:04, , 11F
我提個之前看過,難以回答的問題 :
08/17 13:04, 11F

08/17 13:04, , 12F
static variable 是放在 stack 或 heap 或 其他地方 ?
08/17 13:04, 12F

08/17 13:06, , 13F
BCB 6.0 可以設 stack與heap 的大小, 宣告一個很大的變
08/17 13:06, 13F

08/17 13:07, , 14F
數, 看看是哪邊會爆 (我只會這種笨方法 囧>...
08/17 13:07, 14F

08/17 13:18, , 15F
java 裡面的 static 的範圍跟 C 差很多, 牽扯到 loading
08/17 13:18, 15F

08/17 13:23, , 16F
return 那裡, TC 也過不了 http://ppt.cc/C0Lw
08/17 13:23, 16F

08/17 13:24, , 17F
static,stack/heap問題, 應是"其他地方", 如 meconin
08/17 13:24, 17F

08/17 13:25, , 18F
所言,扯到 loading, 要懂可能要先看過其他書
08/17 13:25, 18F

08/17 13:25, , 19F
http://0rz.tw/RnEJ2 這篇我覺得講得還不錯.
08/17 13:25, 19F

08/17 13:53, , 20F
謝謝超哥.
08/17 13:53, 20F

08/17 13:54, , 21F
咦,謝什麼?
08/17 13:54, 21F

08/17 13:55, , 22F
(還好不是推「謝謝你,超哥」 XD)
08/17 13:55, 22F

08/17 14:13, , 23F
說實話...謝謝超哥和謝謝你,超哥有什麼差異嘛
08/17 14:13, 23F

08/17 14:14, , 24F
你沒在看電影板跟八卦板喔 XD
08/17 14:14, 24F

08/17 14:14, , 25F
因為你提出2跟5的code,解開我的迷津而已
08/17 14:14, 25F

08/17 14:14, , 26F
我目前沒逛那邊
08/17 14:14, 26F

08/17 14:16, , 27F
「謝謝你,超哥,你是個.... 」
08/17 14:16, 27F

08/17 14:18, , 28F
LOL
08/17 14:18, 28F

08/17 14:25, , 29F
xatier是個..
08/17 14:25, 29F
---------- 板主高招 ----------

08/17 14:39, , 30F
http://codepad.org/fZvS767v 這樣不知可不可以
08/17 14:39, 30F
------------------------------

08/17 14:42, , 31F
l 大好強啊!我想了八百輩子也想不到..
08/17 14:42, 31F

08/17 14:42, , 32F
@angleevil:你想做什麼
08/17 14:42, 32F

08/17 14:43, , 33F
版主高招!!!!
08/17 14:43, 33F
※ 編輯: james732 來自: 140.117.171.40 (08/17 14:43)

08/17 14:44, , 34F
08/17 14:44, 34F

08/17 14:54, , 35F
如果沒有版主,大家怎麼辦
08/17 14:54, 35F

08/17 15:00, , 36F
= __ =
08/17 15:00, 36F

08/17 15:07, , 37F
return (a<=b && a<=c) ? a : 0;<--請問一下大家
08/17 15:07, 37F

08/17 15:08, , 38F
我編譯器(g++)一直警告說second operand of conditional
08/17 15:08, 38F

08/17 15:08, , 39F
不起作用(third operand of conditional)也是
08/17 15:08, 39F

08/17 15:11, , 40F
http://codepad.org/fHjZFLMu 這些也有警告嗎?
08/17 15:11, 40F

08/17 15:13, , 41F
XD 你 -Werror 開起來了
08/17 15:13, 41F

08/17 15:14, , 42F
它就只是說, "你寫這行白寫" 的意思
08/17 15:14, 42F

08/17 15:15, , 43F
有阿,對了忘記說我有下-Wall -Wextra.
08/17 15:15, 43F

08/17 15:16, , 44F
謝謝版主
08/17 15:16, 44F

08/18 16:20, , 45F
報告一下#有這個符號會先行編譯喔(前處理器)
08/18 16:20, 45F
文章代碼(AID): #1EIqIdjO (C_and_CPP)
文章代碼(AID): #1EIqIdjO (C_and_CPP)