Одна из наиболее типичных вариаций достигается с использованием оператора «запятая», тем самым позволяя иметь две или более переменных цикла.
Например, функция reverse(). Она предназначена для копирования содержимого первого строкового аргумента во второй строковый аргумент в обратном порядке.
void reverse(char *s, char *r)
{
int i, j;
for(i=strlen(s)-1, j=0; i>=0; j++, i--)
r[i]=s[j];
r[j] = '\0';
}