void test(int &sum)关于这个参数的问题
程序如下,voidtest(int&sum){intx;cin>>x;if(x==0)sum=0;else{test(sum);sum+=x;}cout<<sum;}看不...
程序如下,
void test(int &sum)
{
int x;
cin>>x;
if(x==0) sum=0;
else
{
test(sum);
sum+=x;
}
cout<<sum;
}
看不懂这个程序、、、开始是一个参数,要求参数类型是int,为什么可以是&sum,&不是取地址的吗?如果输入X不是0,那么就是test(sum),继续输入X,直到X=0,然后sum开始不断求和、、、 没搞懂。 展开
void test(int &sum)
{
int x;
cin>>x;
if(x==0) sum=0;
else
{
test(sum);
sum+=x;
}
cout<<sum;
}
看不懂这个程序、、、开始是一个参数,要求参数类型是int,为什么可以是&sum,&不是取地址的吗?如果输入X不是0,那么就是test(sum),继续输入X,直到X=0,然后sum开始不断求和、、、 没搞懂。 展开
展开全部
看你的代码应该C++。
那么int &就表示一种“引用”类型。
引用的表示方法与定义指针相似,只是用&代替了*。引用(reference)是c++对c语言的重要扩充。
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 说明:&在此不是求地址运算,而是起标识作用;
使用引用的一个好处是:减小内存开销,提高代码的执行效率。
至于test函数,这个是一个递归函数。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询