问题
单项选择题
以下程序输出结果是( ):
#include<iostream>
using namespace std;
void add(int x,int y,int *z)
*z=y+x;
int main()
int a,b,c;
add(8,4,&a);
add(6,a,&b);
add(a,b,&c);
cout<<a<<","<<b<<","<<c<<end1;
return 0;
A) 12, 10, 14
B) 12, 18, 30
C) 12, 6, 18
D) 12, 14, 30
答案
参考答案:B
解析: 由主函数main入手,调用add函数,其中第三个参数为引用,即传值为地址。当add函数中第三个参数改变时,主函数中这个值也会改变。那么第一个add调用后a=12,所以第二个调用中a=12。调用后b=18。那么第三个调用后c=30。