杭电1002题这个错误是runtime error,编译器上运行正确
#include <stdio.h>#include <string.h>
int main ()
{
char a[21][1001],b[21][1001];
int c[21][2001];
int k[21]={0};
int n,i,p,q,t,m;
scanf ("%d",&n);
for (i=1;i<=n;i++)
{
scanf ("%s %s",a[i],b[i]);
p=strlen(a[i])-1;
q=strlen(b[i])-1;
while ((p>=0)&&(q>=0))
{
if(((a[i][p]-'0')+(b[i][q]-'0')+c[i][k[i]])>=10)
{
c[i][k[i]]=(a[i][p]-'0')+(b[i][q]-'0')+c[i][k[i]]-10;
c[i][k[i]+1]++;
}
else
c[i][k[i]]=a[i][p]-'0'+b[i][q]-'0'+c[i][k[i]];
k[i]++;
p--;
q--;
}
if (p>=0)
{
for (t=p;t>=0;t--)
{
c[i][k[i]]=(a[i][t]-'0')+c[i][k[i]];
k[i]++;
}
}
else if (q>=0)
{
for (t=q;t>=0;t--)
{
c[i][k[i]]=(b[i][t]-'0')+c[i][k[i]];
k[i]++;
}
}
if (c[i][k[i]]!=0)
k[i]++;
}
for (i=1;i<=n;i++)
{
printf ("#Case%d:\n",i);
printf ("%s + %s =",a[i],b[i]);
for (m=k[i]-1;m>=0;m--)
printf("%d",c[i][m]);
printf ("\n");
printf ("\n");
}
return 0;
}