Oops, you're right - I got the operators the wrong way around! I forget the precise precedence of * and ++ in C sometimes. Assuming that it would be bracketed as *(lwr++), it should actually be:
block
statement (assignment)
expression
operator (dereference)
operator (post-increment)
variable
expression
variable