Q52
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
AnswerE.
It will not compile because not enough initializers are given
Answer: Option D
Solution
Answer: Option D
Solution:
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 |