[問題] 面試看到的一題

看板C_and_CPP (C/C++)作者 (我覺得我還不錯啊)時間9年前 (2017/01/26 16:21), 編輯推噓11(11024)
留言35則, 12人參與, 最新討論串1/1
typedef struct{ int x; int y; }point; void fun(point*); void main() { point p; p.x=12; p.y=10; fun(&p); } void fun(point *p) { p->x++; p->y--; } 這是我今天面試某bios出的題目 趁印象還深快上來發問 程式碼大概就是上述這樣(沒有完全背下來) Q:fun(*p)改成fun(&p)然後p值要一樣要怎麼改 我是寫 void fun(point&p) { (**p).x++; (**p).y--; } 面試官說這只有c++能這樣用而且這樣好像也不對 可是回家用devc++跑void fun(point&p) 一直編譯沒過 想請問這樣是要怎麼改 還是牽涉到什麼觀念 ----- Sent from JPTT on my LGE LG-D838. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.54.47 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1485418918.A.3DE.html

01/26 16:24, , 1F
參數的&是reference 不是pointer的pointer
01/26 16:24, 1F

01/26 16:41, , 2F
http://ideone.com/qzaBF8 C++ Reference的寫法
01/26 16:41, 2F

01/26 16:50, , 3F
1f 這我剛剛有查到
01/26 16:50, 3F

01/26 16:50, , 4F
2f c++這樣我瞭了
01/26 16:50, 4F

01/26 16:50, , 5F
可是這題是要用c寫
01/26 16:50, 5F

01/26 16:50, , 6F
c就不能這樣用了哈哈
01/26 16:50, 6F

01/26 17:03, , 7F
所以這題要考啥XD 明明用c卻叫你把function改成用
01/26 17:03, 7F

01/26 17:03, , 8F
Reference
01/26 17:03, 8F

01/26 17:12, , 9F
我也不知道 我這輩子寫c還沒遇見副程式參數有&的
01/26 17:12, 9F

01/26 17:14, , 10F
所以會不會其實你搞錯面試官在問的東西了...
01/26 17:14, 10F

01/26 17:14, , 11F
void fun(point&);一開始宣告就不會過了
01/26 17:14, 11F

01/26 17:15, , 12F
鳥題目
01/26 17:15, 12F

01/26 17:16, , 13F
我查到是c沒有by reference只有c++有 所以是不是有特
01/26 17:16, 13F

01/26 17:16, , 14F
殊寫法技巧阿
01/26 17:16, 14F

01/26 17:41, , 15F
公司面試這種題目,原PO會想進去嗎......
01/26 17:41, 15F

01/26 17:47, , 16F
insyde考的
01/26 17:47, 16F

01/26 17:47, , 17F
應該是有正解 不過我的實力看不出來
01/26 17:47, 17F

01/26 17:49, , 18F
還是我題目記錯 不過應該89不離十
01/26 17:49, 18F

01/26 17:50, , 19F
八奇一點想說不定就是要考你有沒有跟 C++ 搞混 (X
01/26 17:50, 19F

01/26 17:54, , 20F
有沒有面試過insyde的現身說法一下阿
01/26 17:54, 20F

01/27 01:55, , 21F
原程式那裡有fun(*p)?
01/27 01:55, 21F

01/27 03:13, , 22F
樓上第四行有原型
01/27 03:13, 22F

01/27 10:16, , 23F
阿好像是改成fun(&P)
01/27 10:16, 23F

01/27 10:16, , 24F
小p大P有差哦
01/27 10:16, 24F

01/27 14:03, , 25F
浪費時間
01/27 14:03, 25F

01/28 01:30, , 26F
我覺得, 往上七樓 L大 的水晶球又發光了...
01/28 01:30, 26F

01/28 01:30, , 27F
意思就是, 我覺得, 面試官回答的前半句, "只有c++能"
01/28 01:30, 27F

01/28 01:31, , 28F
就是答案. 而後半句則是說, 就算是C++, 你還是寫錯.
01/28 01:31, 28F

01/28 10:29, , 29F
樓上XDDDD
01/28 10:29, 29F

01/28 10:37, , 30F
完全不明白正確解
01/28 10:37, 30F

01/28 12:04, , 31F
C沒有reference吧? 是說bios很少用C++,會不會是你搞錯
01/28 12:04, 31F

01/28 12:05, , 32F
意思了
01/28 12:05, 32F

01/28 13:39, , 33F
也有可能我搞錯了 不好意思
01/28 13:39, 33F

01/28 13:40, , 34F
有機會再去問問吧
01/28 13:40, 34F

02/03 14:01, , 35F
我在BIOS的source code中還真沒看過fun(&p)這寫法
02/03 14:01, 35F
文章代碼(AID): #1OYR6cFU (C_and_CPP)
文章代碼(AID): #1OYR6cFU (C_and_CPP)