#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int sum(int);
int main() {
printf("%d", sum(3));
return 0;
}
int sum(i) {
int num = 5;
if (num == i)
{
return i;
}
else
{
return i + sum(i++);
}
}
This is the program, I'm getting a segmentation error I don't know how to fix it
here
i will only be incremented after sum returns. So you keep recursing forever and run out of stack.
You need
EDIT
as other have pointer out the order of which i gets evaluated and when it gets incremented etc is not defined. SO you need