Операция продолжения ("запятая") — бинарная операция языка Си, значением которой является значение правого операнда.
Операция "запятая" используется следующим образом:
выражение_А, выражение_В
Сначала вычисляется выражение_А, затем выражение_В.
Значением всего выражения является значение выражение_В.
Приоритет этой операции определен в таблице приоритетов (Приоритеты операций).
В общем случае эта операция используется тогда, когда синтаксис языка требует одного выражения, а программисту хочется выполнить два или более действия путем задания нескольких выражений. Операция "запятая" чаще всего используется для включения дополнительных выражений в заголовок цикла for (Оператор цикла for).

В прим. 1 приводится корректный цикл for, в котором инициализируются и увеличиваются две переменные.
Пример 1
for (i = 0, j = 10; i<max; i++, j++)
    list[i] = name[j];
Здесь выражением1 оператора for является следующее выражение: i = 0, j = 10, а выражением3 является выражение i++, j++.
Выражение типа (выражение1, выражение2, выражение3, выражение4) корректно. Поскольку операция "запятая" левоассоциативна, т.е. связывает свои операнды слева направо, значением всего выражения будет значение выражение4.
Пример 2
x = 0;
while (printf("x is %d\n",x), x<5000)
    tryit (x++);
В языке программирования Си любое выражение имеет значение, например значение выражения 5+2 равно 7, значением выражения х = 200 является 200, значением выражения x < y есть 1 (истина) или 0 (ложь). В прим. 2 в цикле while значение выражения в круглых скобках есть значение второго выражения x < 5000, которое будет либо 0 (ложью), либо 1 (истиной). Функция printf() вычисляется каждый раз при вычислении выражения, определяющего условие продолжения цикла, однако не влияет на истинность значения проверки.