我只是想知道是否有人可以回答我对即将到来的考试的评论问题。不幸的是,我没有一个双重检查的答案键,我想确保我的答案是正确的。这是一个问题:
以下哪项正确地将对变量int max
的引用传递给函数f
?
a) f(max);
b) f(*max);
c) f(&max);
d) f(ref_max);
e) None of the above
我最好的猜测是c。除非我完全错了,否则我确定a,d,e是不对的,并不是要求我取消引用任何选择b。如果我打破了这个网站的任何发布规则,我很抱歉,我知道这对你们大多数人来说可能都是一个简单的问题。
答案 0 :(得分:1)
“e)以上都不是”
C无法通过引用传递int
。
最接近的其他候选人是“c)f(& max);”。在这种情况下,传递给f
的参数不是max
,而是max
的地址。 max
收到f(int *x)
地址的副本。它接近max
的“通过引用传递”,但它是max
地址的“按值传递”。
int max;
void f(int *x);
f(&max);