Comma операторы имеют младший приоритет и ассоциативность слева направо, поэтому это гарантирует порядок:
i = ++j, j = i++;
i
будет равно 2, а затем j
будет 1 после этого утверждения, если i
и j
будут одновременно 0.
Однако, действительно ли запятые разделители в определении типа в C также гарантируют порядок? Например,
int i = 1, j = ++i;