看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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)
ledia:考 java 的也會問 ? XD 08/17 12:39
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)
tropical72:C語言 static 很特別啊!也可修飾 func. 08/17 12:41
我到後來幾乎都是機械性的回答了 「static在C語言裡面有三種用法,分別修飾區域變數、全域變數、函式,效果是ooxx 如果是C++的話就多了修飾成員函式跟成員變數,效果是oooxoxx」 一口氣說完 XD 主考官就直接下一題了 還遇過筆試問static,我直接說「這題用寫的好麻煩,我可以用講的嗎」 XDDD ※ 編輯: james732 來自: 140.117.171.40 (08/17 12:47)
ericinttu:return (a<=b && a<=c) ? a : (b<c)?b:c; 08/17 12:52
ericinttu:不太想變成遞迴解法 XD 08/17 12:52
james732:其實樓上的這個解法我也覺得比較簡單 XDD 08/17 12:53
※ 編輯: james732 來自: 140.117.171.40 (08/17 12:53)
ericinttu:? () : () 裡面可以放什麼東西, 可能依compiler而不同吧 08/17 12:54
james732:我記得那個在C標準的syntax是有規定的...應該不是未定義? 08/17 12:54
ericinttu:我不是指未定義, 而是某些環境下容許放 return (可能啦 08/17 12:56
james732:誤會你的意思了XD 了解 08/17 12:58
ericinttu:印象中以前的編譯器會比較寬鬆一點,也許Turbo C系列會過 08/17 12:59
tropical72:我提個之前看過,難以回答的問題 : 08/17 13:04
tropical72:static variable 是放在 stack 或 heap 或 其他地方 ? 08/17 13:04
ericinttu:BCB 6.0 可以設 stack與heap 的大小, 宣告一個很大的變 08/17 13:06
ericinttu:數, 看看是哪邊會爆 (我只會這種笨方法 囧>... 08/17 13:07
meconin:java 裡面的 static 的範圍跟 C 差很多, 牽扯到 loading 08/17 13:18
tropical72:return 那裡, TC 也過不了 http://ppt.cc/C0Lw 08/17 13:23
tropical72:static,stack/heap問題, 應是"其他地方", 如 meconin 08/17 13:24
tropical72:所言,扯到 loading, 要懂可能要先看過其他書 08/17 13:25
tropical72:http://0rz.tw/RnEJ2 這篇我覺得講得還不錯. 08/17 13:25
angleevil:謝謝超哥. 08/17 13:53
james732:咦,謝什麼? 08/17 13:54
james732:(還好不是推「謝謝你,超哥」 XD) 08/17 13:55
angleevil:說實話...謝謝超哥和謝謝你,超哥有什麼差異嘛 08/17 14:13
james732:你沒在看電影板跟八卦板喔 XD 08/17 14:14
angleevil:因為你提出2跟5的code,解開我的迷津而已 08/17 14:14
angleevil:我目前沒逛那邊 08/17 14:14
tropical72:「謝謝你,超哥,你是個.... 」 08/17 14:16
xatier:LOL 08/17 14:18
angleevil:xatier是個.. 08/17 14:25
---------- 板主高招 ----------
loveme00835:http://codepad.org/fZvS767v 這樣不知可不可以 08/17 14:39
------------------------------
tropical72:l 大好強啊!我想了八百輩子也想不到.. 08/17 14:42
xatier:@angleevil:你想做什麼 08/17 14:42
xatier:版主高招!!!! 08/17 14:43
※ 編輯: james732 來自: 140.117.171.40 (08/17 14:43)
meconin:讚 08/17 14:44
angleevil:如果沒有版主,大家怎麼辦 08/17 14:54
loveme00835:= __ = 08/17 15:00
angleevil:return (a<=b && a<=c) ? a : 0;<--請問一下大家 08/17 15:07
angleevil:我編譯器(g++)一直警告說second operand of conditional 08/17 15:08
angleevil:不起作用(third operand of conditional)也是 08/17 15:08
tropical72:http://codepad.org/fHjZFLMu 這些也有警告嗎? 08/17 15:11
loveme00835:XD 你 -Werror 開起來了 08/17 15:13
loveme00835:它就只是說, "你寫這行白寫" 的意思 08/17 15:14
angleevil:有阿,對了忘記說我有下-Wall -Wextra. 08/17 15:15
angleevil:謝謝版主 08/17 15:16
wei0920:報告一下#有這個符號會先行編譯喔(前處理器) 08/18 16:20