我要求一个大数和一个一位数(0->10)的积,
代码如下:
#include<stdio.h>
#define H 10
char *dc(char*a,char b);
void main()
{
char a[H],b,*c=a;
scanf("%s,%c",a,&b);
dc(c,b);
printf("%s\n%c\n",a,b);
}
char *dc(char *a,char b)
{
int y=0,x,z[H],i,j,k=0;
for(i=0;;i++)
if(a[i]=='\0')break;
for(j=i-1;j>=0;j--)
{
x=(a[j]-'0')*(i-'0');
x=x+y;
z[i+1]=x%10+'0';
y=x/10;
z[j]=y+'0';
}
for(j=0;j<i;j++)
{
if(z[0]='0')continue;
a[k++]=z[j];
}
a[k]='\0';
return a;
}
为什么不出结果啊