这段程序输出55,为什么

#include<iostream>

#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
struct intint{
string s;
int a[20000];
int len;
};
intint plus(intint a,intint b){
intint c;
c.len=1;
a.len=a.s.length(),b.len=b.s.length();
for(int i=0;i<=a.len-1;++i)a.a[a.len-i]=a.s[i]-48;//反序
for(int i=0;i<=b.len-1;++i)b.a[b.len-i]=b.s[i]-48;
int x=0;
while(c.len<=a.len||c.len<=b.len){
c.a[c.len]=b.a[c.len]+a.a[c.len]+x;
x=c.a[c.len]%10;
c.a[c.len]%=10;
c.len++;
}
c.a[c.len]=x;
if(c.a[c.len]==0)c.len--;
return c;
}
int main(){
return 0;
}
这段程序输出55,为什么