Functions - Programming

Q1:

What will be the output of the program?
#include<stdio.h>

int main()
{
    int i=1;
    if(!i)
        printf('AptitudeCrack,');
    else
    {
        i=0;
        printf('C-Program');
        main();
    }
    return 0;
}

A prints "AptitudeCrack, C-Program" infinitely

B prints "C-Program" infinetly

C prints "C-Program, AptitudeCrack" infinitely

D
Error: main() should not inside else statement

ANS:A - prints "AptitudeCrack, C-Program" infinitely

Step 1: int i=1; The variable i is declared as an integer type and initialized to 1(one). Step 2: if(!i) Here the !(NOT) operator reverts the i value 1 to 0. Hence the if(0) condition fails. So it goes to else part. Step 3: else { i=0; In the else part variable i is assigned to value 0(zero). Step 4: printf('C-Program'); It prints the 'C-program'. Step 5: main(); Here we are calling the main() function. After calling the function, the program repeats from step 1 to step 5 infinitely. Hence it prints 'C-Program' infinitely.