Dec 14, 2009, 03:42 PM 
		
	
	
		hey, i have to write a recursive function that computes the factorial of a number given the following prototype:
here's what i have written, it compiles, but whenever i run it i get a segmentation fault. i'm pretty sure i'm just not using the pointer properly, any help would be greatly appreciated.
i'm pretty new to C so if there are any other obvious flaws feel free to point them out.
	
	
Code:
void factorial (long argument, long *result)here's what i have written, it compiles, but whenever i run it i get a segmentation fault. i'm pretty sure i'm just not using the pointer properly, any help would be greatly appreciated.
Code:
#include <stdio> 
void factorial(long argument, long *result); 
int main(){
    long a;
    long *result;
    *result = 1;
    
        printf("Enter a number: ");
        scanf("%l", &a);
    factorial(a, result);
        return 0;
}
void factorial(long argument, long *result){
    if (argument == 1)
        printf("The factorial of %l is: %l", argument,*result);
    else{
        *result = *result * argument;
        factorial(argument-1, result);    
    }
}i'm pretty new to C so if there are any other obvious flaws feel free to point them out.
![[Image: 328003_random.png]](http://sourceop.hlstatsx.com/hlstats.php/sig/328003_random.png) 




