Here is a listing of C Objective Questions on “Sizeof operator” along with answers, explanations and/or solutions:
1. Which among the following is never possible in C when members are different in a structure and union?
//Let P be a structure //Let Q be a union
a) sizeof(P) is greater than sizeof(Q)
b) sizeof(P) is less than sizeof(Q)
c) sizeof(P) is equal to sizeof(Q)
d) none of the mentioned
Answer: d
Clarification: None.
2. Which among the following is never possible in C when members in a structure are the same as that in a union?
//Let P be a structure //Let Q be a union
a) sizeof(P) is greater than sizeof(Q)
b) sizeof(P) is equal to sizeof(Q)
c) sizeof(P) is less than to sizeof(Q)
d) none of the mentioned
Answer: c
Clarification: None.
3. What will be the size of the following C structure?
-
#include -
struct temp -
{ -
int a[10];
-
char p;
-
};
a) 5
b) 11
c) 41
d) 44
Answer: d
Clarification: None.
4. What will be the output of the following C code?
-
#include -
main()
-
{ -
int a = 1;
-
printf("size of a is %d, ", sizeof(++a));
-
printf("value of a is %d", a);
-
};
a) size of a is 4, value of a is 1
b) size of a is 4, value of a is 2
c) size of a is 2, value of a is 2
d) size of a is 2, value of a is 2
Answer: a
Clarification: None.
5. Which among the following statement is right?
a) sizeof(struct stemp*) > sizeof(union utemp*) > sizeof(char *)
b) sizeof(struct stemp*) < sizeof(union utemp*) < sizeof(char *)
c) sizeof(struct stemp*) = sizeof(union utemp*) = sizeof(char *)
d) the order Depends on the compiler
Answer: c
Clarification: None.
6. What will be the output of the following C code?
-
#include -
printf("%d", sizeof(strlen("HELLOWORLD")));
a) Output, 4
b) Output, 10
c) Output, 16
d) Error, sizeof cannot evaluate size of a function
Answer: a
Clarification: None.
7. Which of the following cannot be used inside sizeof?
a) pointers
b) functions
c) macro definition
d) none of the mentioned
Answer: d
Clarification: None.
8. What will be the output of the following C code?
-
#include -
(sizeof double = 8, float = 4, void = 1)
-
#define PI 3.14 -
int main()
-
{ -
printf("%d", sizeof(PI));
-
}
a) Output is 8
b) Output is 4
c) Output is 1
d) Error, we can’t use sizeof on macro-definitions
Answer: a
Clarification: None.
