Vidyalelo
C Programming · Q33

Arrays and Strings

Programming · C Programming · question 33

Q33

What will be the output of following program code? #include int main(void) char p; char buf[10] = 1, 2, 3, 4, 5, 6, 9, 8; p = (buf + 1)[5]; printf("%d", p); return 0;

A.
5
B.
6
C.
9
Answer
D.
Error
E.
None of the above

Answer: Option C

Solution

Answer: Option C
Solution:

x[i] is equivalent to *(x + i),
so (buf + 1)[5] is *(buf + 1 + 5), i.e. buf[6].