C语言 A*B Problem

2024-11-23 13:32:01
推荐回答(2个)
回答(1):

逻辑有错吧?一个乘数为0时不就是1位吗?还要算?好像如下就可以了——
void main(void){
long long A,B;
int C;
scanf("%lld %lld", &A, &B);
if(A==0 || B==0) C=1;
else C=(int)(log10(A)+log10(B))+1;//如果你的平台没有log10就用你原来的算法.
printf ("%d", C);
}

回答(2):

要用unsigned long long和"%llu"