For instance, the next line has a valid C construct:
return a, b, c;
This is particularly useful for setting variable when retuning after an error. if (ret = io(x))
return errno = 10, -1;
The possibilities are endless. Another example: if (x = 1, y = 2, x < 3)
...
But the comma operator really shines when used in conjunction with macros.