+ 1
Why this code generate segmentation fault?
#include<stdio.h> int sum(int a) {int b; if(a==1) { return 1; } else return b=sum(a+sum(a-1)); } int main() {int num; printf("Enter a number for sum:"); int num; scanf("%d",&num); int res=0; res=sum(num); printf("SUM : %d",res); return 0; }
1 Antwort
+ 4
Pavan Rajak 
You have declared b inside sum method and assigned value so working till infinite time so what you are trying to do?
many mistakes in your logic:
#include<stdio.h>
int sum(int a) {
    //int b;
    if(a == 1)
        return 1;
    else
	       return a + sum(a - 1);
}
    
int main() {
	   printf("Enter a number for sum:");
    int num;
	   scanf("%d",&num);
    int res=sum(num);
    
    printf("SUM : %d",res);
    
    return 0;
}



