In the first case the comma separates declaration and initialisation of several variables of the same type:
int i = 1, j = 2, k = 3;
You can add parentheses to tell the compiler it's an expression.
int i = (1, 2, 3);
If you combine them, it's easier to see why the comma is ambiguous without parentheses:
int i = (1, 2, 3), j = 4, k = 5;