【发布时间】:2016-10-22 10:15:56
【问题描述】:
#include <iostream>
using namespace std;
int rev(int& sourcenum)
{
int temp = sourcenum;
int sum = 0;
while (temp!=0)
{
sum*=10;
sum += temp%10;
temp/=10;
}
return sum;
};
int main() {
int i,j;
cin >> i >> j;
int add = rev(i)+rev(j);
cout<<i<<" "<<j<<endl;
cout<<add<<endl;
cout<<rev(add);
}
在这段代码中,我无法更改参数i 和j。我不知道为什么。
【问题讨论】:
-
我很困惑 - 你不要尝试更新 i、j 或 sourcenum
-
为什么
int rev(int& sourcenum)中的sourcenum是通过引用传递的?它没有被修改。如果您将其更改为int rev(int sourcenum),您可以在调用级别将 i 替换为计算结果。
标签: c++ pass-by-reference