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

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--)
{
s1[i]=st[i]+48;
cout<<s1[i];
}
}
}

在这个函数中,怎么才能把输出的值赋给string s1
以字符串形式输入两个长整数,求他们的和,在以字符串形式输出

形参用引用就可以了 就是void add(string &s1,string &s2)
注意的是引用的话在函数里改变s1 s2时实参也会改变 要防止出错
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-30
要想把结果通过 实参 带回,形参必须为指针。

void add(string *s1,string s2){};
第2个回答  2009-07-30
参数采用引用

void add(string &s1,string &s2)
第3个回答  2009-07-30
void add(string* ps1, string s2);
或者
void add(string& s1, string s2);
相似回答