Examveda

short testarray[4][3] = { {1}, {2,3}, {4,5,6}};
printf("%d", sizeof(testarray));

Assuming a short is two bytes long, what will be printed by the above code?

A. 6

B. 7

C. 12

D. 24

E. It will not compile because not enough initializers are given

Answer: Option D

Solution (By Examveda Team)

The following table provides the details of standard integer types with their storage sizes and value ranges −

Type Storage size Value range
char 1 byte -128 to 127 or 0 to 255
unsigned char 1 byte 0 to 255
signed char 1 byte -128 to 127
int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
short 2 bytes -32,768 to 32,767
unsigned short 2 bytes 0 to 65,535
long 4 bytes -2,147,483,648 to 2,147,483,647
unsigned long 4 bytes 0 to 4,294,967,295

This Question Belongs to C Program >> C Fundamentals

Join The Discussion

Comments (11)

  1. Anubhavi Gaur
    Anubhavi Gaur:
    10 months ago

    See basically this says that if sort is 2bytes long then what is the output, we can see that the size of the test array is given as [4][3] which simply suggest that total size of the array will be 12 and the short having the storage of 2 bytes that's why it will be 12*2=24
    I hope this will be helpful for you!!

  2. Harsh Hitesh
    Harsh Hitesh:
    7 years ago

    thanks abhijeet !

  3. Vijay Vijju
    Vijay Vijju:
    7 years ago

    4*3=12
    12*2(int type)=24

  4. Prit Shah
    Prit Shah:
    8 years ago

    Not proper explanation

  5. Ishita Arora
    Ishita Arora:
    9 years ago

    Please Give the explaination

  6. Prakash Lakhara
    Prakash Lakhara:
    9 years ago

    how can that be?

  7. Mayuri Upadhye
    Mayuri Upadhye:
    9 years ago

    Please explain this..??

  8. Deepmala Deepmala
    Deepmala Deepmala:
    9 years ago

    how ans d came??

  9. Shital Pingale
    Shital Pingale:
    9 years ago

    kas kay he as??

  10. Media Research
    Media Research:
    9 years ago

    How it possible?

  11. Abhijeet Chimankar
    Abhijeet Chimankar:
    9 years ago

    We have already defined the array size as 4*3. So, there will be 4*3=12 short nos. stored.
    Each short is two bytes long. So, 12short * 2bytes = 24 bytes [size of array]

Related Questions on C Fundamentals