a = 8;
                  
                  
                  
                  
                  
                  int b = 6;
                  
                  
                  
                  
                  
                  int c = a += b -= 5;    // 9
                  
                  
                  
                  
                  
                  В данном случае выполнение выражения будет идти следующим образом:
                  
                  
                  
                  
                  
                  b -= 5 (6-5=1)
                  
                  
                  
                  
                  
                  a += (b-=5) (8+1 = 9)
                  
                  
                  
                  
                  
                  c = (a += (b-=5)) (c = 9)
                  
                  
                  
                  
                  
                  Это так во всех яп?
                  
                  
                
Это сделано из-за приоритета операций, про это можно у Кнута почитать, том не вспомню
Обсуждают сегодня