C++中void类型的函数,怎么把结果赋给输入值

来源:百度知道 编辑:UC知道 时间:2024/06/01 04:05:07
void add(string s1,string s2)
{
int st1[200]={0},st2[200]={0},st[200]={0};
int x,y,jw=0;
for(int i=0;i<s1.length();i++)
st1[i]=s1[i]-48;
for(int i=0;i<s2.length();i++)
st2[i]=s2[i]-48;
if(s1.length()>=s2.length())
x=s1.length();
else
x=s2.length();
for(int i=0;i<=x+1;i++)
{
st[i]=st1[s1.length()-i-1]+st2[s2.length()-i-1]+jw;
jw=st[i]/10;
st[i]=st[i]%10;
}
if(st[x+1]!=0)
{
for(int i=x+1;i>=0;i--)
{
s1[i]=st[i]+48;
cout<<s1[i];
}
}
else if(st[x]!=0)
{
for(int i=x;i>=0;i--)
{
s1[i]=st[i]+48;
cout<<s1[i];
}
}
else
{
for(int i=x-1;i>=0;i--)
{

形参用引用就可以了 就是void add(string &s1,string &s2)
注意的是引用的话在函数里改变s1 s2时实参也会改变 要防止出错

要想把结果通过 实参 带回,形参必须为指针。

void add(string *s1,string s2){};

参数采用引用

void add(string &s1,string &s2)

void add(string* ps1, string s2);
或者
void add(string& s1, string s2);