Pointers - C Questions

Pointers Questions - 1 Pointers Questions - 2 Pointers Questions - 3 Pointers Questions - 4 Pointers Questions - 5 Pointers Questions - 6 Pointers Questions - 7 Pointers Questions - 8

Data Types - C Questions

Data Types Questions - 1 Data Types Questions - 2 Data Types Questions - 3 Data Types Questions - 4 Data Types Questions - 5

Operators - C Questions

Operators Questions - 1 Operators Questions - 2 Operators Questions - 3 Operators Questions - 4 Operators Questions - 5

Structures - C Questions

Structures Questions - 1 Structures Questions - 2 Structures Questions - 3 Structures Questions - 4 Structures Questions - 5

Files - C Questions

Files Questions - 1 Files Questions - 2 Files Questions - 3 Files Questions - 4 Files Questions - 5

printf - C Questions

printf Questions - 1 printf Questions - 2 printf Questions - 3 printf Questions - 4 printf Questions - 5

Variables - C Questions

Variables Questions - 1 Variables Questions - 2 Variables Questions - 3 Variables Questions - 4 Variables Questions - 5

Preprocessor Macros

Preprocessor Macros - 1 Preprocessor Macros - 2 Preprocessor Macros - 3 Preprocessor Macros - 4 Preprocessor Macros - 5

While Loop - C Questions

While Loop Questions - 1 While Loop Questions - 2 While Loop Questions - 3 While Loop Questions - 4 While Loop Questions - 5

for Loop - C Questions

for Loop Questions - 1 for Loop Questions - 2 for Loop Questions - 3 for Loop Questions - 4 for Loop Questions - 5

if else - C Questions

if else Questions - 1 if else Questions - 2 if else Questions - 3 if else Questions - 4 if else Questions - 5

Switch case - C Questions

Switch case Questions - 1 Switch case Questions - 2 Switch case Questions - 3 Switch case Questions - 4 Switch case Questions - 5

Array - C Questions

Array Questions - 1 Array Questions - 2 Array Questions - 3 Array Questions - 4 Array Questions - 5

Functions - C Questions

Functions Questions - 1 Functions Questions - 2 Functions Questions - 3 Functions Questions - 4 Functions Questions - 5

Memory Allocation

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

C Preprocessor and Macros Interview Questions

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

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

#include<stdio.h>
int main()
{	
	printf("Line :%d\n", __LINE__ );
	return 0;
}

A. 3

B. 6

C. Compilation error

D. 4

x

 

Option: D

Explanation

__LINE__ macro will print the number of lines from start to the statement containing __LINE__ thus outputted 4.

Answer


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

#include<stdio.h>
#define  preprocessor_works(x, y)  \
	printf(#x " and " #y " are great!\n")
int main(void) {
	preprocessor_works(you, me);
	return 0;
}

A. you and me are great!

B. #you and #me are great!

C. No output

D. Compilation error

x

 

Option: A

Explanation

# is know as Stringize or number-sign.

When # is used within a macro definition, # macro converts a macro parameter into a string constant.

When we are passing any special arguments or string as a parameter value, then # macrons are get used.

Answer


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

#include<stdio.h>
# define puts  "%s C preprocessor"
int main()
{
	printf(puts, puts);
	return 0;
}

A. Runtime error

B. Compilation error

C. %s C preprocessor %s C preprocessor

D. %s C preprocessor C preprocessor

x

 

Option: D

Explanation

printf(puts,puts); will call the preprocessor macro # define puts.

printf("%s C preprocessor","%s C preprocessor");

printf(%s C preprocessor C preprocessor);

Answer


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

#include<stdio.h>
#define preprocessor(n) printf ("macro" #n " = %d", macro##n)
int main(void) {
	int macro25 = 47;
	preprocessor(25);
	return 0;
}

A. Compilation error

B. macro25 = 47

C. macro47 = 25

D. Runtime error

x

 

Option: B

Explanation

## is nothing more than concatenation operator.

Answer


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

#include<stdio.h>
#include<string.h>
#define MACRO(num) ++num 
int main()
{
	char *ptr = "preprocessor";
	int num =strlen(ptr);
	printf("%s  ", MACRO(ptr));
	printf("%d", MACRO(num));
	return 0;
}

A. preprocessor 12

B. preprocessor 13

C. reprocessor 13

D. reprocessor 12

x

 

Option: C

Explanation

int num = strlen(ptr);

int num = 12;

printf("%s", MACRO(preprocessor));

printf("%s", reprocessor);

printf("%d", MACRO(num));

printf("%d", 13);

Thus output is reprocessor 13

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