技術的には、これは 1 つまたは複数のステートメントではなく、1 つの式ですが、区別はさほど重要ではありません。
Good old C makes only limited promises about what order expressions like this will be evaluated in. In your example, the order doesn't matter. But consider this expression:
a[i++] = i
If i
was 1 before evaluating this expression, should a[1]
now equal 1 or 2? As I understand the C specification, the behavior of this expression is undefined, meaning that what you get depends on which compiler you use.
Thanks to @mizo for a readable reference on sequence points, and to @ChrisDodd for pointing out that if you're making simple independent assignments that are separated by the comma operator, C and C++ do fully specify a left-to-right evaluation order.