Vidyalelo
C Programming · Q30

C Miscellaneous

Programming · C Programming · question 30

Q30

Determine Output: void main() char *str1 = "abcd"; char str2[] = "abcd"; printf("%d %d %d", sizeof(str1), sizeof(str2), sizeof("abcd"));

A.
2 5 5
Answer
B.
5 5 5
C.
2 4 5
D.
2 4 4

Answer: Option A

Solution

Answer: Option A
Solution:

In first sizeof, str1 is a character pointer so it gives you the size of the pointer variable. In second sizeof the name str2 indicates the name of the array whose size is 5 (including the '\0' termination character). The third sizeof is similar to the second one.