Korrigiert mich, falls ich Mist laber, aber liegt der Unterschied zwischen & und && in dem Fall nicht in der Priorität mit der sie behandelt werden, was ein (x == 5 && y == 3) ohne Klammern statt ((x == 5) & (y == 3)) erlaubt?
Oder mit anderen Worten: & wird vor == und != verarbeitet, && danach.