i was looking for some D&C algorithms and came out founding this one

```
int sumArray(int anArray[], int size)
{
//base case
if (size == 0)
{
return 0;
}
else if (size == 1)
{
return anArray[0];
}
//divide and conquer
int mid = size / 2;
int rsize = size - mid;
int lsum = sumArray(anArray, mid);
int rsum = sumArray(anArray + mid, rsize);
return lsum + rsum;
}
```

but everytime i run the code without the base case it returns a segment fault error.

im trying to figure out why this base case is so important that even running with n>1 it stills returning that error, someone would lend a hand here?

Source: Windows Questions C++