#include<stdio.h>
#include<string.h>
char a[100010],b[100010];
int ter[1000000];
int main()
{
scanf("%s",a+1);
scanf("%s",b+1);
int e=strlen(a);
int t=strlen(b);
for(int i=1;i<=e;i++)
{
for(int j=1;j<=t;t++)
{
ter[i+j]=(a[i]-'0')*(b[i]-'0');
}
}
int i,an=0,be=0;
for(i=1;i<=(e)*(t);i++)
{
be=(ter[i]+an)/10;
ter[i]=(ter[i]+an)%10;
an=be;
}
if(an!=0)a[i]=an;
else i=i-1;
for(int j=i;j>=1;j--)
printf("%d",ter[j]);//这一个循环好像一直进不去
printf("\n");
return 0;
}
那说明 (j >= 1) 条件不成立,循环就没有进去。 你在循环前面打印 i, j 的值看看。