Vidyalelo
C Programming · Q50

Pointer

Programming · C Programming · question 50

Q50

Find the output of the following program. void main() int array[10]; int *i = &array[2], *j = &array[5]; int diff = j-i; printf("%d", diff);

A.
3
Answer
B.
6
C.
Garbage value
D.
Error

Answer: Option A

Solution

Answer: Option A
Solution:

When subtracting pointers you get the number of elements between those addresses, not the number of bytes.