The comma operator says execute the expression on the left then execute the expression on the right:
a, b=0
first executes a
which does nothing, then it executes b=0
which assigns zero to b.
Why does the comma operator exist? The comma operator can be useful when the expressions have side effects.
It also serves a sequence point which tell the compiler "everything on the left must be complete before anything on the right happens. This constrains the optimizations allowed by the compiler, so for example a += 1, b = a + c[a] will always add one to a before using it as an index. Something like b = ++a + c[a] is undefined because the compiler can increment a before or after it uses it as an index.