r****t 发帖数: 10904 | 1 【 以下文字转载自 JobHunting 讨论区 】
发信人: huameng (huameng), 信区: JobHunting
标 题: C++ online Test 又一题
发信站: BBS 未名空间站 (Wed Mar 2 19:21:15 2011, 美东)
Which one of the following function declarations do you use for a function
that takes a variable number of parameters and uses all of them?
A.
void function (first, others[]);
B.
void function(argc, *argv[]);
C.
void function(...);
D.
void function(int first, ...);
E.
void[] function();
觉得b,d 都行啊~ | r****t 发帖数: 10904 | 2 贴主说答案给的是 d.
我觉得 c,d 都可以,在 primer 上面看来的。 | t****t 发帖数: 6806 | 3 这题有点难, 我也是想了一想
正确答案确实是D
C是不行的. 单独省略号的写法可以有, 但是要用每个参数的话, 需要用va_start来开
始一个iteration, 而这个macro需要用到省略号之前的最后一个参数. 所以如果需要"
用"参数的话, 至少需要一个有类型的. 所以C不合条件.
至于B那根本是瞎说. jobhunting版上一群人七嘴八舌没一个说到点子上的, 还什么C++
不行, C++难道没有printf吗? 说话都不过大脑.
【在 r****t 的大作中提到】 : 贴主说答案给的是 d. : 我觉得 c,d 都可以,在 primer 上面看来的。
| t****t 发帖数: 6806 | 4 对了 再说一下, C语言的要求是省略号前面必须有一个有类型的参数. C++不再有这个
要求了.
++
【在 t****t 的大作中提到】 : 这题有点难, 我也是想了一想 : 正确答案确实是D : C是不行的. 单独省略号的写法可以有, 但是要用每个参数的话, 需要用va_start来开 : 始一个iteration, 而这个macro需要用到省略号之前的最后一个参数. 所以如果需要" : 用"参数的话, 至少需要一个有类型的. 所以C不合条件. : 至于B那根本是瞎说. jobhunting版上一群人七嘴八舌没一个说到点子上的, 还什么C++ : 不行, C++难道没有printf吗? 说话都不过大脑.
| p*********t 发帖数: 2690 | 5 当然是d.
不可能是b. b怎么变都只能有2个parameters.
【在 r****t 的大作中提到】 : 贴主说答案给的是 d. : 我觉得 c,d 都可以,在 primer 上面看来的。
| l*********s 发帖数: 5409 | | b*********n 发帖数: 93 | 7 I think b is fit for only main function.
【在 p*********t 的大作中提到】 : 当然是d. : 不可能是b. b怎么变都只能有2个parameters.
|
|