C中的SIGFPE错误?

时间:2016-04-02 22:32:09

标签: c

我有以下代码,它以数字的阶乘计算尾随零的数量。该程序运行第一个测试用例为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;
}

1 个答案:

答案 0 :(得分:0)

错误的是您以错误的方式使用运算符^:它不是幂运算符,而是按位XOR运算符。 C中没有幂运算符,但pow()函数是数学库。

另一方面......计算阶乘的位置?