作者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/cn.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