how can this compileThe compile does not stop you from writing valid by confusing code. It stop a few common mistake but only them.
and show 43 on console after execution?On my machine it returns 50. Are sure you have (- - x) and not (--x) The space make a difference!
does assignment operation returns any value?What do you think?