What is the output of the following program?
#include<stdio.h>
int a(int n)
{
if(n<1) return 1;
else return a(n-2) + b(n-1);
}
int b(int n)
{
if(n<=1) return 1;
else return b(n-1) + a(n-2);
}
int main()
{
int b=6;
printf("%d", a(6));
}
Please explain briefly. As I am getting 21 as output and compiler is giving 16 as output.