我有以下代码,它以数字的阶乘计算尾随零的数量。该程序运行第一个测试用例为10,但当相同的代码运行17时,它在C中显示SIGFPE错误? 谁能告诉我哪里出错?
#include<stdio.h>
#include<math.h>
int main(){
int n,i=1,j,sum=0,l;
scanf("%d",&n);
while((n/(5^i))>1)
{
j=(n/(5^i));
i++;
sum=sum+j;
}
printf("%d",sum);
return 0;
}
答案 0 :(得分:0)
错误的是您以错误的方式使用运算符^
:它不是幂运算符,而是按位XOR
运算符。 C中没有幂运算符,但pow()函数是数学库。
另一方面......计算阶乘的位置?