logo

CuriousTab

CuriousTab

Discussion


Home C Programming Complicated Declarations Comments

  • Question
  • What will be the output of the program?
    #include<stdio.h>
    
    int main()
    {
        char huge *near *ptr1;
        char huge *far *ptr2;
        char huge *huge *ptr3;
        printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3));
        return 0;
    }
    


  • Options
  • A. 4, 4, 8
  • B. 2, 4, 4
  • C. 4, 4, 2
  • D. 2, 4, 8

  • Correct Answer
  • 2, 4, 4 


  • Complicated Declarations problems


    Search Results


    • 1. What will be the output of the program in Turbo C?
      #include<stdio.h>
      
      int main()
      {
          char near *near *ptr1;
          char near *far *ptr2;
          char near *huge *ptr3;
          printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3));
          return 0;
      }
      

    • Options
    • A. 4, 4, 8
    • B. 4, 4, 4
    • C. 2, 4, 8
    • D. 2, 4, 4
    • Discuss
    • 2. Assume integer is 2 bytes wide. How many bytes will be allocated for the following code?
      #include<stdio.h>
      #include<stdlib.h>
      #define MAXROW 3
      #define MAXCOL 4
      
      int main()
      {
          int (*p)[MAXCOL];
          p = (int (*) [MAXCOL])malloc(MAXROW *sizeof(*p));
          return 0;
      }
      

    • Options
    • A. 56 bytes
    • B. 128 bytes
    • C. 24 bytes
    • D. 12 bytes
    • Discuss
    • 3. Assume integer is 2 bytes wide. What will be the output of the following code?
      #include<stdio.h>
      #include<stdlib.h>
      #define MAXROW 3
      #define MAXCOL 4
      
      int main()
      {
          int (*p)[MAXCOL];
          p = (int (*) [MAXCOL])malloc(MAXROW *sizeof(*p));
          printf("%d, %d\n", sizeof(p), sizeof(*p));
          return 0;
      }
      

    • Options
    • A. 2, 8
    • B. 4, 16
    • C. 8, 24
    • D. 16, 32
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      #include<stdlib.h>
      
      int main()
      {
          int *p;
          p = (int *)malloc(20); /* Assume p has address of 1314 */
          free(p);
          printf("%u", p);
          return 0;
      }
      

    • Options
    • A. 1314
    • B. Garbage value
    • C. 1316
    • D. Random address
    • Discuss
    • 5. What will be the output of the program (16-bit platform)?
      #include<stdio.h>
      #include<stdlib.h>
      
      int main()
      {
          int *p;
          p = (int *)malloc(20);
          printf("%d\n", sizeof(p));
          free(p);
          return 0;
      }
      

    • Options
    • A. 4
    • B. 2
    • C. 8
    • D. Garbage value
    • Discuss
    • 6. What will be the output of the program (in Turbo C under DOS)?
      #include<stdio.h>
      
      int main()
      {
          char huge *near *far *ptr1;
          char near *far *huge *ptr2;
          char far *huge *near *ptr3;
          printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3));
          return 0;
      }
      

    • Options
    • A. 4, 4, 8
    • B. 2, 4, 4
    • C. 4, 4, 2
    • D. 2, 4, 8
    • Discuss
    • 7. What will be the output of the program under DOS?
      #include<stdio.h>
      
      int main()
      {
          char huge *near *far *ptr1;
          char near *far *huge *ptr2;
          char far *huge *near *ptr3;
          printf("%d, %d, %d\n", sizeof(ptr1), sizeof(**ptr2), sizeof(ptr3));
          return 0;
      }
      

    • Options
    • A. 4, 4, 4
    • B. 4, 2, 2
    • C. 2, 8, 4
    • D. 2, 4, 8
    • Discuss
    • 8. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          char far *near *ptr1;
          char far *far *ptr2;
          char far *huge *ptr3;
          printf("%d, %d, %d\n", sizeof(ptr1), sizeof(ptr2), sizeof(ptr3));
          return 0;
      }
      

    • Options
    • A. 4, 4, 8
    • B. 4, 4, 4
    • C. 2, 4, 4
    • D. 2, 4, 8
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          char huge *near *far *ptr1;
          char near *far *huge *ptr2;
          char far *huge *near *ptr3;
          printf("%d, %d, %d\n", sizeof(ptr1), sizeof(*ptr2), sizeof(**ptr3));
          return 0;
      }
      

    • Options
    • A. 4, 4, 4
    • B. 2, 4, 4
    • C. 4, 4, 2
    • D. 2, 4, 8
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      typedef void v;
      typedef int i;
      
      int main()
      {
          v fun(i, i);
          fun(2, 3);
          return 0;
      }
      v fun(i a, i b)
      {
          i s=2;
          float i;
          printf("%d,", sizeof(i));
          printf(" %d", a*b*s);
      }
      

    • Options
    • A. 2, 8
    • B. 4, 8
    • C. 2, 4
    • D. 4, 12
    • Discuss


    Comments

    There are no comments.

Enter a new Comment