Hmm, you still can't see it. What is ptr pointing at after fun(ptr++) returns?

When exactly do you think that post-increment takes place? If you do this as a separate statement instead of in either line, which of these do you think the existing code is equvalent to:
Code:
ptr++;
fun(ptr);
printf ( “\n%d”, *ptr ) ; 

OR

fun(ptr);
ptr++;
printf ( “\n%d”, *ptr ) ; 

OR

fun(ptr);
printf ( “\n%d”, *ptr ) ; 
ptr++;