невозможно предсказать результат, когда мы используем цикл do-while и записываем константы в цикл while, разделенные запятыми

int i=40;         //defined    
int main()
{
    do
    {
        printf("%d",i++);
    }while(5,4,3,2,1,0);  //what does this do ?

    return 0;
}

**O/P=40**

Я не могу понять, что делает цикл while в приведенном выше коде ...

Я знаю, что цикл do while выполняется по крайней мере один раз. Поскольку условие O/P=40 цикла while оценивается как ложное, но я не могу понять, как?


person user3126632    schedule 25.09.2014    source источник


Ответы (1)


Результат выражения

5,4,3,2,1,0

это 0. Таким образом, _3 _-_ 4_ выполняется ровно один раз.

См. оператор запятой.

person AlexD    schedule 25.09.2014