C Programming - C Preprocessor


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

#define INFINITELOOP while(1)

int main()
    return 0;

A. Yes
B. No

Answer: Option A


Yes, the program prints "IndiaBIX" 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 "IndiaBIX". Then it comes to while(1) and the loop runs infinitely.


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


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.

« Prev   1 2