Важно отметить, что точки последовательности являются не глобальными, а должны рассматриваться как набор локальных ограничений. Например, в заявлении
a = f1(x++) + f2(y++);
Существует точка последовательности между вычислением x ++ и вызовом f1, и другая точка последовательности между оценкой y ++ и вызовом f2. Однако нет никакой гарантии относительно того, будет ли x увеличен до или после вызова f2, и не будет ли y увеличен до или после вызова x. Если f1 меняет y или f2 меняет x, результаты будут неопределенными (было бы законно для сгенерированного кода компилятора, например, прочитать x и y, увеличить x, вызвать f1, проверить y относительно ранее прочитанного значения и - если все изменилось - яростно отыскиваю и уничтожаю все видео и товары Барни; я не думаю, что какие-то реальные компиляторы генерируют код, который бы на самом деле это делал, увы, но это было бы разрешено по стандарту).