logo

CuriousTab

CuriousTab

Discussion


Home C Programming Declarations and Initializations Comments

  • Question
  • What is the output of the program in Turbo C (in DOS 16-bit OS)?
    #include<stdio.h>
    int main()
    {
        char *s1;
        char far *s2;
        char huge *s3;
        printf("%d, %d, %d\n", sizeof(s1), sizeof(s2), sizeof(s3));
        return 0;
    }
    


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

  • Correct Answer
  • 2, 4, 4 

    Explanation
    Any pointer size is 2 bytes. (only 16-bit offset)
    So, char *s1 = 2 bytes.
    So, char far *s2; = 4 bytes.
    So, char huge *s3; = 4 bytes.
    A far, huge pointer has two parts: a 16-bit segment value and a 16-bit offset value.

    Since C is a compiler dependent language, it may give different output in other platforms. The above program works fine in Windows (TurboC), but error in Linux (GCC Compiler).


    Declarations and Initializations problems


    Search Results


    • 1. What is the output of the program
      #include<stdio.h>
      int main()
      {
          int a[5] = {2, 3};
          printf("%d, %d, %d\n", a[2], a[3], a[4]);
          return 0;
      }
      

    • Options
    • A. Garbage Values
    • B. 2, 3, 3
    • C. 3, 2, 2
    • D. 0, 0, 0
    • Discuss
    • 2. In the following program how long will the for loop get executed?
      #include<stdio.h>
      int main()
      {
          int i=5;
          for(;scanf("%s", &i); printf("%d\n", i));
          return 0;
      }
      

    • Options
    • A. The for loop would not get executed at all
    • B. The for loop would get executed only once
    • C. The for loop would get executed 5 times
    • D. The for loop would get executed infinite times
    • Discuss
    • 3. What is the output of the program
      #include<stdio.h>
      int main()
      {
          extern int fun(float);
          int a;
          a = fun(3.14);
          printf("%d\n", a);
          return 0;
      }
      int fun(int aa)
      {
      	return (int)++aa;
      }
      

    • Options
    • A. 3
    • B. 3.14
    • C. 0 
    • D. 4
    • E. Compile Error
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      int X=40;
      int main()
      {
          int X=20;
          printf("%d\n", X);
          return 0;
      }
      

    • Options
    • A. 20
    • B. 40
    • C. Error
    • D. No Output
    • Discuss
    • 5. What is the output of the program?
      #include<stdio.h>
      int main()
      {
          extern int a;
          printf("%d\n", a);
          return 0;
      }
      int a=20;
      

    • Options
    • A. 20
    • B. 0
    • C. Garbage Value
    • D. Error
    • Discuss
    • 6. What is the output of the program
      #include<stdio.h>
      int main()
      {
          int x = 10, y = 20, z = 5, i;
          i = x < y < z;
          printf("%d\n", i);
          return 0;
      }
      

    • Options
    • A. 0
    • B. 1
    • C. Error
    • D. None of these
    • Discuss
    • 7. What is the output of the program
      #include<stdio.h>
      int main()
      {
          struct emp
          {
              char name[20];
              int age;
              float sal;
          };
          struct emp e = {"Tiger"};
          printf("%d, %f\n", e.age, e.sal);
          return 0;
      }
      

    • Options
    • A. 0, 0.000000
    • B. Garbage values
    • C. Error
    • D. None of above
    • Discuss
    • 8. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int X=40;
          {
              int X=20;
              printf("%d ", X);
          }
          printf("%d\n", X);
          return 0;
      }
      

    • Options
    • A. 40 40
    • B. 20 40
    • C. 20
    • D. Error
    • Discuss
    • 9. What is the output of the program?
      #include<stdio.h>
      int main()
      {
          union a
          {
              int i;
              char ch[2];
          };
          union a u;
          u.ch[0] = 3;
          u.ch[1] = 2;
          printf("%d, %d, %d\n", u.ch[0], u.ch[1], u.i);
          return 0;
      }
      

    • Options
    • A. 3, 2, 515
    • B. 515, 2, 3
    • C. 3, 2, 5
    • D. None of these
    • Discuss
    • 10. Which of the structure is incorrcet?

      1 :
      struct aa
      {
          int a;
          float b;
      };
      2 :
      struct aa
      {
          int a;
          float b;
          struct aa var;
      };
      3 :
      struct aa
      {
          int a;
          float b;
          struct aa *var;
      };

    • Options
    • A. 1
    • B. 2
    • C. 3
    • D. 1, 2, 3
    • Discuss


    Comments

    There are no comments.

Enter a new Comment