Visual c++ 整个编码是正确的,但得到的是垃圾值
当按如下方式编码时,编译器将显示垃圾值:Visual c++ 整个编码是正确的,但得到的是垃圾值,visual-c++,Visual C++,当按如下方式编码时,编译器将显示垃圾值: #include<iostream> using namespace std; void summation(int value1,int value2, int sum) { sum = value1+value2; } int main() { int a,b,sum; cout<<"enter first no.\n"; cin>>a ; cout<<"e
#include<iostream>
using namespace std;
void summation(int value1,int value2, int sum)
{
sum = value1+value2;
}
int main()
{
int a,b,sum;
cout<<"enter first no.\n";
cin>>a ;
cout<<"enter the second no.";
cin>>b ;
summation(a,b,sum);
cout<<"the addition of two no. is :" <<sum ;
return 0;
}
在写入时获得正确的输入&求和而不是求和。为什么会这样?您正在通过值将sum传递给求和方法,并且希望通过引用传递它。请尝试这样定义您的方法:
void summation(int value1,int value2, int& sum)
{
sum = value1+value2;
}
当您像以前那样通过参数值传递参数时,该方法将创建参数值的副本并使用该副本。在结果中,方法外部传递的参数sum保持不变。通过引用int&sum传递参数时,方法中的sum变量将与主方法中的sum变量相同,您可以对其进行更改。您可能需要重写签名,如int-summationint a,int-b{return a+b;},并在main中类似地调用它:sum=summationa,b;