hey..thats what im asking here..how?... why has i and l changed..but not k j and m..?? all conditions are true..so all variables should.. change their values...
It's due to short circuit logic in the if statements. If you have [x OR y], and x is true, then it doesn't matter what the y is because the output will be true either way, so it doesn't bother evaluating it. http://en.wikipedia.org/wiki/Short-circuit_evaluation
Likewise, if you have [x AND y], and x is false, it will not bother evaluating y.
I assume this is just an academic exercise, but please don't do something complicated like this in real code as it makes it really hard to follow.