#include<bits/stdc++.h>
using namespace std;
int a[101],b[101],c[202];
string s1,s2;
int main()
{
int i,j,k,x;
while(cin>>s1>>s2)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
a[0]=s1.size();
b[0]=s2.size();
for(i=0;i<a[0];i++) a[a[0]-i]=s1[i]-'0';
for(i=0;i<b[0];i++) b[b[0]-i]=s2[i]-'0';
for(i=1;i<=a[0];i++)
{
x=0;
for(j=1;j<=b[0];j++)
{
c[i+j-1]=c[i+j-1]+x+a[i]*b[j];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+j-1]=x;
}
k=500;
while(!c[k--]);
for(i=k+1;i>=1;i--)
cout<<c[i];
cout<<endl;
}
return 0;
}
k=500;
while(!c[k--]);
导致数组越界。可以把最后的k值输出来看看。