Magnus_K skrev:Den tabellen åker raka vägen in i programmeringspärmen!
Kompetenta och erfarna programmerare löser det hela genom att helt enkelt sätta så många parenteser vi kan överallt.
Seriöst så finns det så många lurigheter att det faktiskt är bättre att göra det än att förlita sig på sin förmåga att komma ihåg listan, och det är ingen annan som kommer ihåg den så parenteserna behövs ändå för deras skull!
Jag är inte säker på att alla språk verkligen har exakt samma prioriteringar som C, men jag vet att flera språk har subtila skillnader vad gäller associativitet. Som exempel så är Pythons regler lite mer intuitiva än C, medan PHP som vanligt är helt idiotiskt.
Det klassiska exemplet i C är
if(a & b == TRUE)
vilket inte alls gör det man lätt förleds att tro, så
if((a&b) == TRUE)
är inte bara lättare att läsa utan dessutom troligen korrekt.
I Python, som ju är ett mycket vanligt språk idag som man måste ta hänsyn till, så utvärderas
if a<b<c:
inte på samma sätt som
if (a<b<c)
i C.
Och det finns fler exempel på liknande. Därför använder man istället onödigt mycket parenteser.