C Macro & Preprocessor

Last Updated :
Discuss
Comments

Question 1

C
#include <stdio.h>
#define PRINT(i, limit) do \\
                        { \\
                            if (i++ < limit) \\
                            { \\
                                printf("GeeksQuiz\\n"); \\
                                continue; \\
                            } \\
                        }while(1)

int main()
{
    PRINT(0, 3);
    return 0;
}
How many times GeeksQuiz is printed in the above program?
  • 1
  • 3
  • 4
  • Compile-time error

Question 2

What is the output of following program? 

C
#include <stdio.h>
#define macro(n, a, i, m) m##a##i##n
#define MAIN macro(n, a, i, m)

int MAIN()
{
    printf("GeeksQuiz");
    return 0;
}
  • Compiler Error

  • GeeksQuiz

  • MAIN

  • main

Question 3

C
#include <stdio.h>
#define X 3
#if !X
    printf("Geeks");
#else
    printf("Quiz");
 
#endif
int main()
{
        return 0;
}
  • Geeks
  • Quiz
  • Compiler Error
  • Runtime Error

Question 4

C
#include <stdio.h>
#define ISEQUAL(X, Y) X == Y
int main()
{
    #if ISEQUAL(X, 0)
        printf("Geeks");
    #else
        printf("Quiz");
    #endif
    return 0;
}
Output of the above program?
  • Geeks
  • Quiz
  • Any of Geeks or Quiz
  • Compile time error

Question 5

C
#include <stdio.h>
#define square(x) x*x
int main()
{
  int x;
  x = 36/square(6);
  printf("%d", x);
  return 0;
}
  • 1
  • 36
  • 0
  • Compiler Error

Question 6

Output? C
# include <stdio.h>
# define scanf  "%s Geeks Quiz "
int main()
{
   printf(scanf, scanf);
   return 0;
}
  • Compiler Error
  • %s Geeks Quiz
  • Geeks Quiz
  • %s Geeks Quiz Geeks Quiz

Question 7

C
#include <stdio.h>
#define a 10
int main()
{
  printf("%d ",a);

  #define a 50

  printf("%d ",a);
  return 0;
}
  • Compiler Error
  • 10 50
  • 50 50
  • 10 10

Question 8

Output? C
#include<stdio.h> 
#define f(g,g2) g##g2 
int main() 
{ 
   int var12 = 100; 
   printf("%d", f(var,12)); 
   return 0; 
}
  • 100
  • Compiler Error
  • 0
  • 1

Question 9

Predict the output of following program? C
#include <stdio.h>
#define MAX 1000
int main()
{
   int MAX = 100;
   printf("%d ", MAX);
   return 0;
}
  • 1000
  • 100
  • Compiler Error
  • Garbage Value

Question 10

Output of following C program? C
#include<stdio.h>
#define max abc
#define abc 100

int main()
{
    printf("maximum is %d", max);
    return 0;
}
  • maximum is 100
  • abcimum is 100
  • 100imum is 100
  • abcimum is abc
Tags:

There are 21 questions to complete.

Take a part in the ongoing discussion