The ones who are crazy enough to think they can change the world are the ones who do.- Steve Jobs
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.
16. What will be the output of the C program?
#include<stdio.h> #define x 1+2 int main() { int i; i = x * x * x; printf("%d",i); }
Option: C
i = x * x * x;
i = 1+2 * x * x;
i = 3 * x * x;
i = 3 * 1+2 * x;
i = 3 + 2 * x;
i = 5 * x;
i = 5 * 1 + 2;
i = 5 + 2;
i = 7;
Thus C compiler outputs i = 7
17. What will be the output of the C program?
#include<stdio.h> #define a = int main() { int num a 6; printf("%d",num); return 0; }
Option: A
= is defined in proprocessor with the name of a. Thus no problem with a normal compilation flow..
18. What will be the output of the C program?
#include<stdio.h> #define fun(x,y) x*y int main() { int x = 2, y = 1; printf("%d",fun(x + 2, y - 1)); return 0; }
Option: D
In printf we called the function fun(x + 2, y - 1);.
Now printf looks like this fun(2 + 2, 1 - 1). and control goes to #define preprocessor directive.
fun(2 + 2, 1 - 1) 2 + 2 * 1 - 1
fun(2 + 2, 1 - 1) 2 + 2 - 1
fun(2 + 2, 1 - 1) 4 - 1
fun(2 + 2, 1 - 1) 3
Thus it returns 3 to the printf and outputted.
19. What will be the output of the C program?
#include<stdio.h> int main() { char DATE[15] = "Current Date"; printf("%s\n", __DATE__ ); return 0; }
Option: B
__DATE__ is a C macro which print the current date as a character literal in "MMM DD YYYY" format.
20. What will be the output format of the C program ?
#include<stdio.h> int main() { char TIME[15] = "Current Time"; printf("%s\n",__TIME__); return 0; }
Option: C
The current time as a character literal in "HH:MM:SS" format
We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.
© Copyright 2019