What will be the output of the program?
#include<stdio.h>
void main()
{
float arr[] = {12.4, 2.3, 4.5, 6.7};
printf("%d", sizeof(arr)/sizeof(arr[0]));
}
#include<stdio.h>
void main()
{
float arr[] = {12.4, 2.3, 4.5, 6.7};
printf("%d", sizeof(arr)/sizeof(arr[0]));
}
A. 5
B. 4
C. 6
D. 7
E. None of these
Answer: Option B
Solution(By Examveda Team)
The sizeof function return the given variable. Example: float a=10; sizeof(a) is 4 bytes
>> float arr[] = {12.4, 2.3, 4.5, 6.7}; The variable arr is declared as an floating point array and it is initialized with the values.
>> printf("%d", sizeof(arr)/sizeof(arr[0]));
The variable arr has 4 elements. The size of the float variable is 4 bytes.
Hence 4 elements x 4 bytes = 16 bytes
sizeof(arr[0]) is 4 bytes
Hence 16/4 is 4 bytes
Hence the output of the program is '4'.
Related Questions on Arrays and Strings
Join The Discussion