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
AnswerD.
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].