logo

CuriousTab

CuriousTab

Discussion


Home C Programming C Preprocessor Comments

  • Question
  • There exists a way to prevent the same file from getting #included twice in the same program.


  • Options
  • A. True
  • B. False

  • Correct Answer
  • True 

    Explanation
    True, We can prevent the same file from getting included again by using a preprocessor directive called #ifndef (short for "if not defined") to determine whether we've already defined a preprocessor symbol called XSTRING_H. If we have already defined this symbol, the compiler will ignore the rest of the file until it sees a #endif (which in this case is at the end of the file).

    #ifndef XSTRING_H

    #define XSTRING_H defines the same preprocessor symbol,

    Finally, the last line of the file, #endif


    C Preprocessor problems


    Search Results


    • 1. Macros have a local scope.

    • Options
    • A. True
    • B. False
    • Discuss
    • 2. Macros with arguments are allowed

    • Options
    • A. True
    • B. False
    • Discuss
    • 3. A macro must always be defined in capital letters.

    • Options
    • A. True
    • B. False
    • Discuss
    • 4. A preprocessor directive is a message from compiler to a linker.

    • Options
    • A. True
    • B. False
    • Discuss
    • 5. In a macro call the control is passed to the macro.

    • Options
    • A. True
    • B. False
    • Discuss
    • 6. Will the following program print the message infinite number of times?
      #include<stdio.h>
      #define INFINITELOOP while(1)
      
      int main()
      {
          INFINITELOOP
          printf("CuriousTab");
          return 0;
      }
      

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 7. Will the program compile successfully?
      #include<stdio.h>
      
      int main()
      {
          #ifdef NOTE
              int a;
              a=10;
          #else
              int a;
              a=20;
          #endif
          printf("%d\n", a);
          return 0;
      }
      

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 8. Would the following typedef work?
      typedef #include l;

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 9. Will the program compile successfully?
      #include<stdio.h>
      #define X (4+Y)
      #define Y (X+3)
      
      int main()
      {
          printf("%d\n", 4*X+2);
          return 0;
      }
      

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 10. It is necessary that a header files should have a .h extension?

    • Options
    • A. Yes
    • B. No
    • Discuss


    Comments

    There are no comments.

Enter a new Comment