logo

CuriousTab

CuriousTab

Discussion


Home C Programming C Preprocessor Comments

  • Question
  • 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

  • Correct Answer
  • No 

    Explanation
    Reports an error: Undefined symbol 'X'

  • C Preprocessor problems


    Search Results


    • 1. Would the following typedef work?
      typedef #include l;

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 2. 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
    • 3. 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
    • 4. There exists a way to prevent the same file from getting #included twice in the same program.

    • Options
    • A. True
    • B. False
    • Discuss
    • 5. Macros have a local scope.

    • Options
    • A. True
    • B. False
    • Discuss
    • 6. It is necessary that a header files should have a .h extension?

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 7. Will the program compile successfully?
      #include<stdio.h>
      
      int main()
      {
          printf("India" "CURIOUSTAB\n");
          return 0;
      }
      

    • Options
    • A. Yes
    • B. No
    • Discuss
    • 8. Will it result in to an error if a header file is included twice?

    • Options
    • A. Yes
    • B. No
    • C. It is compiler dependent.
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          static int arr[] = {0, 1, 2, 3, 4};
          int *p[] = {arr, arr+1, arr+2, arr+3, arr+4};
          int **ptr=p;
          ptr++;
          printf("%d, %d, %d\n", ptr-p, *ptr-arr, **ptr);
          *ptr++;
          printf("%d, %d, %d\n", ptr-p, *ptr-arr, **ptr);
          *++ptr;
          printf("%d, %d, %d\n", ptr-p, *ptr-arr, **ptr);
          ++*ptr;
          printf("%d, %d, %d\n", ptr-p, *ptr-arr, **ptr);
          return 0;
      }
      

    • Options
    • A. 0, 0, 0
      1, 1, 1
      2, 2, 2
      3, 3, 3
    • B. 1, 1, 2
      2, 2, 3
      3, 3, 4
      4, 4, 1
    • C. 1, 1, 1
      2, 2, 2
      3, 3, 3
      3, 4, 4
    • D. 0, 1, 2
      1, 2, 3
      2, 3, 4
      3, 4, 5
    • Discuss
    • 10. What will be the output of the program if the array begins at address 65486?
      #include<stdio.h>
      
      int main()
      {
          int arr[] = {12, 14, 15, 23, 45};
          printf("%u, %u\n", arr, &arr);
          return 0;
      }
      

    • Options
    • A. 65486, 65488
    • B. 65486, 65486
    • C. 65486, 65490
    • D. 65486, 65487
    • Discuss


    Comments

    There are no comments.

Enter a new Comment