Functions - Programming

Q1:

How many times the program will print 'AptitudeCrack' ?
#include<stdio.h>

int main()
{
    printf('AptitudeCrack');
    main();
    return 0;
}

A Infinite times

B 32767 times

C 65535 times

D Till stack overflows

ANS:A - Infinite times

A call stack or function stack is used for several related purposes, but the main reason for having one is to keep track of the point to which each active subroutine should return control when it finishes executing. A stack overflow occurs when too much memory is used on the call stack. Here function main() is called repeatedly and its return address is stored in the stack. After stack memory is full. It shows stack overflow error.