写WA两个点,麻烦帮忙看下哪错了?
#include<iostream>
#include<cstring>
using namespace std;
int ans[20005];
struct p
{
int x,y;
}a[20005],b[20005];
int main()
{
string s,c;
cin>>s>>c;
int n=0,m=0;
for(int i=0;i<s.size();i++)a[++n].x=s[i]-'0';
for(int i=0;i<c.size();i++)b[++m].x=c[i]-'0';
for(int i=1;i<=n;i++)a[i].y=a[n-i+1].x;
for(int i=1;i<=m;i++)b[i].y=b[n-i+1].x;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
ans[i+j-1]+=a[i].y*b[j].y;
if(ans[i+j-1]>=10)
{
ans[i+j]+=ans[i+j-1]/10;
ans[i+j-1]%=10;
}
}
}
int k=m+n;
bool f=false;
for(int i=k;i>=1;i--)
{
if(ans[i]==0&&f==false) continue;
if(f==false) f=true;
cout<<ans[i];
}
if(f==false) cout<<0;
return 0;
}