输出的时候为什么多一个零?
#include <bits/stdc++.h>
using namespace std;
int i[500];int j[500];//加数
int ans[501];//答案
int main()
{
string a,b;
cin>>a;cin>>b;//输入
const int n=a.length(),m=b.length();//数组长度
int sb=0;//进位判定
/*cout<<n<<"---"<<m<<endl;调试*/
int q=max(n,m)+1;
for(int s=0,l=n-1;s<n&&l>=0;s++,l--)
{
i[l]=a[s]-48;
}
for(int s=0,k=m-1;s<m&&k>=0;s++,k--)
{
j[k]=b[s]-48;
}//字符转数字
// for(int s=0;s<n;s++)
// {
// cout<<"i"<<ends<<i[s]<<endl;
// }
// for(int s=0;s<m;s++)
// {
// cout<<"j"<<ends<<j[s]<<endl;
// }
//调试程序,现已无用
for(int s=0;s<q;s++)
{
ans[s]+=i[s]+j[s];//单数位相加
if(ans[s]>=10)
{
sb=1;
ans[s+1]+=sb;
sb=0;
ans[s]-=10;
}//如果大于十就进位
}
for(int s=q-1;s>=0;s--)
{
cout<<ans[s];
}//输出
return 0;
}