c++多个大数相加 为什么无法输出

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string bigsum(string &s1,string &s2);
int main(){
	string m,n,sum;
	cin>>m;
	sum=m;
	while(cin>>n&&n!="0"&&m!="0")
		sum=bigsum(n,sum);
	cout<<sum<<endl;
}  
string bigsum(string &s1,string &s2){
	int len1=s1.size();
	int len2=s2.size();
	string s;
	int sum=0,jw=0,i=0;
	while(len1>0&&len2>0){
		sum=s1[len1]-'0'+s2[len2]-'0'+jw;
		jw=sum/10;
		s[i]=sum%10+'0';
		len1--;
		len2--;
		i++;
	}
	if(len1==0&&len2==0&&jw>0){
		s[i]=jw+'0';
	}
	else if(len1==0){
		for(int j=len2;j>0;j--,i++){
			if(jw==0) s[i]=s2[j];
			else{
				sum=s2[j]-'0'+jw;
				if(sum<10){
					s[i]=sum+'0';
					jw=0;
				}
				else{
					jw=sum/10;
					s[i]=sum%10+'0';
				}
			}
		}
	}
	else if(len2==0){
		for(int j=len1;j>0;j--,i++){
			if(jw==0) s[i]=s1[j];
			else{
				sum=s1[j]-'0'+jw;
				if(sum<10){
					s[i]=sum+'0';
					jw=0;
				}
				else{
					jw=sum/10;
					s[i]=sum%10+'0';
				}
			}
		}
	}
	reverse(s.begin(),s.end());
	return s;
}
	
	

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^