Recursions Second Time around

Ok, my second time around with this same problem.....now I understand the actually recursion, what it's doing and stuff but not the theory behind it.

Take this for example

Code:

// Fibonacci series using recursion

#include <iostream>

int fib (int n);

int main()

{

int n, answer;

std::cout << "Enter number to find: ";

std::cin >> n;

std::cout << "\n\n";

answer = fib(n);

std::cout << answer << " is the " << n;

std::cout << "th Fibonacci number\n";

return 0;

}

int fib (int n)

{

std::cout << "Processing fib(" << n << ")... ";

if (n < 3 )

{

std::cout << "Return 1!\n";

return (1);

}

else

{

std::cout << "Call fib(" << n-2 << ") ";

std::cout << "and fib(" << n-1 << ").\n";

return( fib(n-2) + fib(n-1));

}

}

From Sams Teach Yourself C++ in 21 days by Jesse Liberty

Now that we got that over with.........it says that the nth number is equals to the sum of the two previous numbers or nth=n-1+n-2;

right?

Now the Theory behind this.....why must we dig down to the last two numbers 1,1 the first two numbers to add their return values in order to get the nth number, and not just do

result=n-1+n-2 I know this is wrong for the most part Because if you do it with the number 6 it doesn't work since you get 5+4=9 and not 8 like it is........

Thank you in advance, if you don't understand my question please tell me.