1. Pay attention to the number of digits finally reached.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char stra[45],strb[45];
int c[100];
int main()
{
int lena,lenb,flag=0;
memset(c, 0, sizeof(c));
scanf("%s%s",stra,strb);
//printf("stra=%s\n",stra);
//printf("strb=%s\n",strb);
lena=strlen(stra);
lenb=strlen(strb);
//printf("lena=%d lenb=%d\n",lena,lenb);
for(int i=0;i<lena;i++)
{
for(int j=0;j<lenb;j++)
{
c[i+j+1]=c[i+j+1]+(stra[i]-'0')*(strb[j]-'0');
}
}
for(int i=lena+lenb-1;i>0;i--)
{
if(c[i]>=10)
{
c[i-1]=c[i-1]+c[i]/10;
c[i]=c[i]%10;
}
}
for(int i=0;i<lena+lenb-1;i++)
{
if(!flag&&c[i]==0)
{
continue;
}
flag=1;
printf("%d",c[i]);
}
printf("%d\n",c[lena+lenb-1]);
return 0;
}