#include <iostream>
using namespace std;
int main() {
int n,x;
int fact(int);
cin >> n;
x = fact(n);
cout << x;
return 0;
}
int fact(int n) {
if(n!=1)
return n*fact(n-1);
}
Son durumda, argüman işlev olgusuna iletildiğinde 1, kodumda belirtmeden, fact(1)
'un 1'e eşit olduğunu nasıl hesaplayabilir?Bu yineleme programı neden çalışıyor?
Bu işe yaramazsa: http://coliru.stacked-crooked.com/a/2c7260c2ee17d556. Daha iyi bir derleyici/uyarılar gerekir. – NathanOliver
Kodunuz 'return' işlevini' return' olmadan sonlandırdığında, tanımlanmamış davranışınız vardır. – dasblinkenlight
Yukarıdaki kodu derlemek için codeblocks ide kullanılır ve bana doğru cevabı veriyor, codeblocks güvenilmez mi? – srishti77714