求各位数字之积 结果不全对 请问该怎么改啊

#include
int main()
{
int n,sum=1,t;
scanf("%d",&n);

do{
    t=n%10;
    sum=sum*t;
    n=n/10;
}while(n%10!=0);

printf("%d",sum);

return 0; 

}

img

while(n%10!=0)肯定不对啊。只要整数中间有0就退出了啊

#include <stdio.h>
int main()
{
int n,sum=1;
scanf("%d",&n);
do
{
    sum *= n%10;
    n/=10;
}while(n>0);
printf("%d",sum);
}
 


while()的里面应该是n!=0;不然像101判断到10的时候也会提前结束达不到结果;

while条件不对 改成n/10不等于0