- priorita a asociativita == “přidávání závorek”
8/2/2 - priorita neříká, pořadí u stejné priority
int a = 10, b = 3, c = 2, d = 4, result
a + a * - b / c % d + c * d
a + a * (- b) / c % d + c * d
a + (((a * (- b)) / c) % d) + c * d
((a + (((a * (- b)) / c) % d)) + (c * d))
-3
-30
-15
10 -3 8
7 8 = 15
++x >= y * 2 || y % 2 && z++ % 2
- Bacha na side effects (
z++)
- dvojté volání
index(i) může vrátit jiný výsledek
++a vrací a+1
a-- vrací a
A[++i] = b; // A[i+1] = b; i += 1;
*(t = p, p += 1, t) = *(t = q, q += 1, t); /* same as *p++ = *q++; */
- referenčně průhledné (referential transparent) == zavolání funkce se stejným argumentem je stejný výsledek