Curioustab
Aptitude
General Knowledge
Verbal Reasoning
Computer Science
Interview
Aptitude
General Knowledge
Verbal Reasoning
Computer Science
Interview
C Preprocessor Questions
What will be the output of the program? #include<stdio.h> #define SQR(x)(x*x) int main() { int a, b=3; a = SQR(b+2); printf("%d\n", a); return 0; }
What will be the output of the program? #include<stdio.h> #define MESS junk int main() { printf("MESS\n"); return 0; }
What will be the output of the program? #include<stdio.h> #define SQUARE(x) x*x int main() { float s=10, u=30, t=2, a; a = 2*(s-u*t)/SQUARE(t); printf("Result = %f", a); return 0; }
What will be the output of the program? #include<stdio.h> #define CUBE(x) (x*x*x) int main() { int a, b=3; a = CUBE(b++); printf("%d, %d\n", a, b); return 0; }
What will be the output of the program? #include<stdio.h> #define PRINT(int) printf("int=%d, ", int); int main() { int x=2, y=3, z=4; PRINT(x); PRINT(y); PRINT(z); return 0; }
What will be the output of the program? #include<stdio.h> #define JOIN(s1, s2) printf("%s=%s %s=%s \n", #s1, s1, #s2, s2); int main() { char *str1="India"; char *str2="CURIOUSTAB"; JOIN(str1, str2); return 0; }
What will be the output of the program? #include<stdio.h> #define FUN(arg) do\ {\ if(arg)\ printf("CuriousTab...", "\n");\ }while(--i) int main() { int i=2; FUN(i<3); return 0; }
What will be the output of the program? #include<stdio.h> #define str(x) #x #define Xstr(x) str(x) #define oper multiply int main() { char *opername = Xstr(oper); printf("%s\n", opername); return 0; }
What will be the output of the program? #include<stdio.h> #define MAX(a, b) (a > b? a : b) int main() { int x; x = MAX(3+2, 2+7); printf("%d\n", x); return 0; }
What will be the output of the program? #include<stdio.h> #define SWAP(a, b) int t; t=a, a=b, b=t; int main() { int a=10, b=12; SWAP(a, b); printf("a = %d, b = %d\n", a, b); return 0; }
What will be the output of the program? #include<stdio.h> #define MIN(x, y) (x<y)? x : y; int main() { int x=3, y=4, z; z = MIN(x+y/2, y-1); if(z > 0) printf("%d\n", z); return 0; }
What will be the output of the program? #include<stdio.h> #define PRINT(i) printf("%d,",i) int main() { int x=2, y=3, z=4; PRINT(x); PRINT(y); PRINT(z); return 0; }
What will be the output of the program? #include<stdio.h> #define FUN(i, j) i##j int main() { int va1=10; int va12=20; printf("%d\n", FUN(va1, 2)); return 0; }
What will be the output of the program? #include<stdio.h> #define MAN(x, y) ((x)>(y))? (x):(y); int main() { int i=10, j=5, k=0; k = MAN(++i, j++); printf("%d, %d, %d\n", i, j, k); return 0; }
What will be the output of the program? #include<stdio.h> #define MAX(a, b, c) (a>b? a>c? a : c: b>c? b : c) int main() { int x; x = MAX(3+2, 2+7, 3+7); printf("%d\n", x); return 0; }
The preprocessor can trap simple errors like missing declarations, nested comments or mismatch of braces.
A preprocessor directive is a message from programmer to the preprocessor.
Preprocessor directive #ifdef .. #else ... #endif is used for conditional compilation.
Macro calls and function calls work exactly similarly.
If the file to be included doesn't exist, the preprocessor flashes an error message.
1
2