看板 Soft_Job 關於我們 聯絡資訊
※ 引述《HowLeeHi (處處留心皆正妹)》之銘言: : 新血來潮去找了一下十年前看過的CIH在大同徵人的面試題目 : 十年後來看,居然只會個2題...0rz : 覺得這些問題的知識在現今找相關工作應該還滿受用的吧. : 引言開始 int (*(*z(int (*(*f)(char))(int)))(char))(int) { } 雖然我應該會用 typedef 來處理這麼複雜的宣告, 但還是想把這個看懂: 先簡化這個 function 把 parameter 拿掉 int (*(*z())(char))(int) parameter: int (*(*f)(char))(int) 這應該簡單不少, 所以參數是 一個 function pointer, 傳入參數 type 是 char, 傳回值 type 是 一個 function pointer, 傳入參數 type 是 int, 傳回值 type 是 int 再來看 function z 本身: int (*(*z())(char))(int) function z 傳回值 type: 一個 function pointer, 傳入參數 type 是 char, 傳回值 type 是 一個 function pointer, 傳入參數 type 是 int, 傳回值 type 是 int 再麻煩大家看看有沒有寫錯的部份。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.239.46
shemale:這種複雜的東西,好處不多,一出問題會很難debug 06/06 19:35
shemale:純粹只是拿來作為考試用的,實作上真的不建議 06/06 19:35
KanoLoa:請問實作上什麼樣情況才會寫成這樣? 06/06 20:09
leav:實作上會用typedef的方式預先定義,不過這麼複雜的case很少 06/06 20:21
shemale:現在我是不知道怎樣,過去OOP(C++)剛出來時,有段時間, 06/06 20:31
shemale:virtual method在struct(class)是function pointer 06/06 20:33
shemale:所以繼承這個virtual class的,不會呼叫錯function 06/06 20:34
shemale:一層就足夠了,像這個用了兩個兩層,不是沒用,但很少會用 06/06 20:35
shemale:大家常用的qsort參數是一層,會有什麼情況用到兩層? 06/06 20:36
typepeter:應該說,這樣的寫法是在寫語法而不是實用了...XD" 06/06 22:17
typepeter:寫程式已經不再是從低層coding起的年代了... 06/06 22:18
asdfghjklasd:他不不是號稱可以刻出os?會這樣問就不易外 06/06 23:46
appleway:http://cdecl.org 06/07 11:52
godspeedlee:推樓上,這種題目跟學校老師考一堆星號一樣沒意義 06/07 15:01
hilorrk:我本來要推 appleway 的那個,但我發現他會 syntax error 06/07 16:20
appleway:會error 是因為那個不是定義,而是呼叫。 06/08 14:13
lovepc:可以拿來考試 實際上這樣寫 我覺得是無聊&無用 閱讀性0 06/09 09:51