作者wilson50101 (我覺得我還不錯啊)
看板C_and_CPP
標題[問題] 面試看到的一題
時間Thu Jan 26 16:21:55 2017
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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1485418918.A.3DE.html
1F:推 sorryla: 參數的&是reference 不是pointer的pointer 01/26 16:24
3F:→ wilson50101: 1f 這我剛剛有查到 01/26 16:50
4F:→ wilson50101: 2f c++這樣我瞭了 01/26 16:50
5F:→ wilson50101: 可是這題是要用c寫 01/26 16:50
6F:→ wilson50101: c就不能這樣用了哈哈 01/26 16:50
7F:推 ko27tye: 所以這題要考啥XD 明明用c卻叫你把function改成用 01/26 17:03
8F:→ ko27tye: Reference 01/26 17:03
9F:→ wilson50101: 我也不知道 我這輩子寫c還沒遇見副程式參數有&的 01/26 17:12
10F:→ LPH66: 所以會不會其實你搞錯面試官在問的東西了... 01/26 17:14
11F:→ wilson50101: void fun(point&);一開始宣告就不會過了 01/26 17:14
12F:推 asd456fgh778: 鳥題目 01/26 17:15
13F:→ wilson50101: 我查到是c沒有by reference只有c++有 所以是不是有特 01/26 17:16
14F:→ wilson50101: 殊寫法技巧阿 01/26 17:16
15F:推 stupid0319: 公司面試這種題目,原PO會想進去嗎...... 01/26 17:41
16F:→ wilson50101: insyde考的 01/26 17:47
17F:→ wilson50101: 應該是有正解 不過我的實力看不出來 01/26 17:47
18F:→ wilson50101: 還是我題目記錯 不過應該89不離十 01/26 17:49
19F:推 LPH66: 八奇一點想說不定就是要考你有沒有跟 C++ 搞混 (X 01/26 17:50
20F:→ wilson50101: 有沒有面試過insyde的現身說法一下阿 01/26 17:54
21F:推 chuegou: 原程式那裡有fun(*p)? 01/27 01:55
22F:推 asd456fgh778: 樓上第四行有原型 01/27 03:13
23F:→ wilson50101: 阿好像是改成fun(&P) 01/27 10:16
24F:→ wilson50101: 小p大P有差哦 01/27 10:16
25F:→ firose: 浪費時間 01/27 14:03
26F:推 yvb: 我覺得, 往上七樓 L大 的水晶球又發光了... 01/28 01:30
27F:→ yvb: 意思就是, 我覺得, 面試官回答的前半句, "只有c++能" 01/28 01:30
28F:→ yvb: 就是答案. 而後半句則是說, 就算是C++, 你還是寫錯. 01/28 01:31
29F:→ james732: 樓上XDDDD 01/28 10:29
30F:推 asd456fgh778: 完全不明白正確解 01/28 10:37
31F:→ ahwater01: C沒有reference吧? 是說bios很少用C++,會不會是你搞錯 01/28 12:04
32F:→ ahwater01: 意思了 01/28 12:05
33F:→ wilson50101: 也有可能我搞錯了 不好意思 01/28 13:39
34F:→ wilson50101: 有機會再去問問吧 01/28 13:40
35F:推 ariesd: 我在BIOS的source code中還真沒看過fun(&p)這寫法 02/03 14:01