The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

C Preprocessor and Macros Questions and Answers

In most of the MNC interview questions such as in ZOHO interview question, IVTL Infoview interview questions, Amazon interview questions, GOOGLE interview questions, Infosys interview questions and even in Voonik interview questions, We come across several Tricky C Questions about which 2:5 of the questions are from Preprocessor and Macros in c. Solving that kind of tricky C questions is not an easy task for all C programmers. We need more practices to solve it with ease. So we provide 25+ interesting C questions in Preprocessor and Macros to make your MNC interview very easy.

C Preprocessor and Macros Questions

1. What will be the output of the C program?

#include<stdio.h>
#define int char
main()
{
	int i=5;
	printf ("sizeof (i) =%d", sizeof (i));
}

A. 2

B. 4

C. Compilation error

D. 1

x

 

Option: D

Explanation

Since the #define replaces the string int by the macro char.

Answer


2. What will be the output of the C program?

#include<stdio.h>
#define x 2
int main()
{
	int i;
	i = x*x*x;
	printf("%d",i);
	return 0;
}

A. 8

B. x is not declared

C. No output

D. Garbage value

x

 

Option: A

Explanation

Since we replace x = 8 in #define.

Answer


3. What will be the output of the C program?

#include<stdio.h>
#define square(x) x*x
int main()
{
	int i;
	i = 64/square(4);
	printf("%d",i);
	return 0;
}

A. 16

B. Compilation error

C.4

D. 64

x

 

Option: D

Explanation

Operators enjoys priority / is given more priority over *. In this program the execution takes place in this format.

64 / square(4)

64 / 4*4

16 * 4

64

Answer


4. What will be the output of the C program?

#include<stdio.h>
#define i 10
int main()
{
	#define i 20
	printf("%d",i);
	return 0;
}

A. Compilation error

B. 20

C. 10

D. Runtime error

x

 

Option: B

Explanation

The preprocessor directives can be redefined anywhere in the program. So the most recently assigned value (#define i 20) will be taken.

Answer


5. What will be the output of the C program ?

#include<stdio.h>
#define clrscr() 50
int main()
{
	clrscr();
	printf("%d\n",clrscr());
	return 0;
}

A. Compilation error

B. Runtime error

C. 50

D. none of the above

x

 

Option: C

Explanation

Preprocessor in any programming language executes as a seperate pass before the execution of the compiler. So textual replacement of clrscr() to 50 occurs with no errors.

Answer


Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report