2016-04-02 10 views
-3

Bir sayının faktörü sırasındaki sondaki sıfır sayısını hesaplayan aşağıdaki kod var. Program 10 olan ilk test çantası için çalışıyor ama aynı kod 17 için çalıştırıldığında C'de bir SIGFPE hatası gösteriyor mu? Nerede yanlış gittiğimi kimse söyleyebilir mi? güç operatörü değil, bitsel XOR operatörü: sorununun neC SIGFPE Hatası?

#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

Programda hata ayıklayıcınızla adım atın ve yanlış gittiğiniz yeri bulmak için değerlerinizi analiz edin. Ayrıca, yanlış dil –

cevap

0

Eğer operatöre ^ yanlış şekilde kullanarak olmasıdır. C'de güç operatörü yoktur, ancak bir pow() işlevi matematik kütüphanesini çalıştırır.

Diğer taraftan ... faktöriyel hesaplanmış nerede?

+0

teşekkürler etiketleme! cazibe gibi çalıştı. Ne aptalca bir hata onu işaret için teşekkürler :) –

+1

Faktöriyel hesaplamaya gerek yok! Sondaki sıfırlar sadece sayının yardımıyla hesaplanabilir. –