Howdy ranchers!
Trying my best to 'be the compiler' (and sitting in a meditation posture)
The code in discussion is:
I have had a bit of Java (-0.0==0.0) is true but a little more surprised with the above output. Correct me if I'm wrong Parentheses, ( ), can be used to override precedence and associativity.
If we look at the statement (1) '=' has lowest precedence. The expression on the right hand side would be looked into first. I feel the compiler ( ) has to evaluate RHS to a boolean value, so that the program runs!!! Okay no problem, but what about 'precedence rules' - why look at '||' first when we have 'j+=2' sitting there in parentheses. And yes I do understand to the left of '||' its true this means mr. compiler never looks at what's on the right