Examveda
Examveda

Determine Output:
void main()
{
      char far *farther, *farthest;
      printf("%d..%d", sizeof(farther), sizeof(farthest));
}

A. 4..2

B. 2..2

C. 4..4

D. 2..4

Answer: Option A

Solution(By Examveda Team)

The second pointer is of char type and not a far pointer.


This Question Belongs to C Program >> Pointer

Join The Discussion

Comments ( 14 )

  1. Shubham Patra
    Shubham Patra :
    9 months ago

    It depends on the compiler.
    If you are using a 32-bit system, then it will be 4 bytes, but if you are using a 64-bit system, then it will be 8 bytes.
    So the answer should be 4-4, not 4-2.

  2. Hrithik Sharma
    Hrithik Sharma :
    1 year ago

    at any case, size of pointer variable = sizeof(unsigned int). because pointer variable always store address which is nothing but unsigned int.

  3. CHUNCHE GOWDA
    CHUNCHE GOWDA :
    2 years ago

    It depends on compiler that we are using,if our machine is 64bit then pointer is 8byte. if it is 32bit then it is 4 byte.
    In this case we are trying to print size of pointer not *ptr(i.e char pointer).

  4. Vivek Sharma
    Vivek Sharma :
    3 years ago

    This is a DOS-only program, it won't work in GCC or other modern compilers, far pointers are different types of pointers like near pointer and huge pointer.

  5. Adam Dont
    Adam Dont :
    3 years ago

    the answer should be 4 4

  6. Asst. Prof.
    Asst. Prof. :
    3 years ago

    correct answer is 2..2(or 4..4 depending on compiler you are using ). Because you are printing sizeof(farther) and sizeof(farthest), both are char pointers.

  7. Prachi Choudhary
    Prachi Choudhary :
    3 years ago

    Why ans B is right

  8. Swati Varma
    Swati Varma :
    4 years ago

    your solution is wrong

  9. Deepak Kumar
    Deepak Kumar :
    6 years ago

    Please explain how ,it is 4,2
    If we see the the concept of pointer ,pointer does not depend on datatype ,its depend on system

  10. Mukul Aggarwal
    Mukul Aggarwal :
    6 years ago

    pls explain anyone as
    according to me its 2,2

  11. Minakshi Shukla
    Minakshi Shukla :
    6 years ago

    Acording to me it shoud be 4 4 bcz pointer size is same always and depends upon int size of systm then it is 4 2 what is far plz explain

  12. Arunkumar C
    Arunkumar C :
    7 years ago

    pls explain detail...
    how pointer size is 2 ?

  13. Manju Kumar
    Manju Kumar :
    7 years ago

    plz detail explanation

  14. Archit Gupta
    Archit Gupta :
    7 years ago

    the answer should be 4...4 because pointer stores address of a variable which is of integer type and points the value of type of its datatype.

Related Questions on Pointer