I am writing a simple code to calculate Fabonacci numbers as an exercise. The code works, but i don't get why. I have some special cases for n=1 and n=2 which is the place of the number in the sequence (the numbers are 0 and 1). However after those, the number is calculated in this loop.
while(n>LoopCount)
{
    Fib_n=Fib_1+Fib_2;
    Fib_2=Fib_1;
    Fib_1=Fib_n;
    LoopCount++;
}
Going in to the loop, Fib_1=0, Fib_2=0, and Fib_n=1. Why does not this loop just spit out 0 no matter what? The whole code is below.
#include <iostream>
using namespace std;
int main()  
{
    cout <<"Which number of the Fibonacci sequence do you want to calculate?" <<endl;
    int n;
    cin >>n;
    cout <<endl;
    int Fib_n;
    int Fib_1;
    int Fib_2;
    int LoopCount=1;
    if(n>1)
    {
        Fib_n=1;
        LoopCount++;
        while(n>LoopCount)
        {
            Fib_n=Fib_1+Fib_2;
            Fib_2=Fib_1;
            Fib_1=Fib_n;
            LoopCount++;
        }
    }
    cout <<Fib_n;
    return 0;
}
 
     
    