Yes / No Questions

Question 1 :

Will the program compile successfully?

#include < stdio.h >
#define X (4+Y)
#define Y (X+3)

int main()
{
    printf("%d\n", 4*X+2);
    return 0;
}


A). Yes
B). No
Answer : Option B

Explanation :

Reports an error: Undefined symbol 'X'


Question 2 :

Would the following typedef work?
typedef #include l;


A). Yes
B). No
Answer : Option B

Explanation :

Because typedef goes to work after preprocessing.


Question 3 :

Will the program compile successfully?

#include < stdio.h >
int main()
{
    printf("India" "Parinam\n");
    return 0;
}


A). Yes
B). No
Answer : Option A

Explanation :

Yes, It prints "India Parinam"


Question 4 :

It is necessary that a header files should have a .h extension?


A). Yes
B). No
Answer : Option B

Explanation :

No, the header files have any kind of extension.


Question 5 :

Will the program compile successfully?

#include < stdio.h >
int main()
{
    #ifdef NOTE
        int a;
        a=10;
    #else
        int a;
        a=20;
    #endif
    printf("%d\n", a);
    return 0;
}


A). Yes
B). No
Answer : Option A

Explanation :

Yes, this program will compile and run successfully and prints 20.

The macro #ifdef NOTE evaluates the given expression to 1. If satisfied it executes the #ifdef block statements. Here #ifdef condition fails because the Macro NOTE is nowhere declared.

Hence the #else block gets executed, the variable a is declared and assigned a value of 20.

printf("%d\n", a); It prints the value of variable a 20.


Question 6 :

Will the following program print the message infinite number of times?

#include < stdio.h >
#define INFINITELOOP while(1)
int main()
{
    INFINITELOOP
    printf("IndiaPARINAM");
    return 0;
}


A). Yes
B). No
Answer : Option A

Explanation :

Yes, the program prints "IndiaPARINAM" and runs infinitely.

The macro INFINITELOOP while(1) replaces the text 'INFINITELOOP' by 'while(1)'

In the main function, while(1) satisfies the while condition and it prints "IndiaPARINAM". Then it comes to while(1) and the loop runs infinitely.


Question 7 :

Will it result in to an error if a header file is included twice?


A). Yes
B). No
C). It is compiler dependent.
Answer : Option C

Explanation :

Unless the header file has taken care to ensure that if already included it doesn't get included again.
Turbo C, GCC compilers would take care of these problems, generate no error.