Особенности использования операторов FOR в С (С++)
Во всех языках высокого уровня (ЯВУ) существует оператор цикла с параметром for.
На его особенностях в языке С(++) мы остановимся в данной статье.
По формальному синтаксису этот оператор имеет следующий вид
for(1;2;3)4;5;
Где приняты следующие обозначения:
1 - операторы, выполняемые только ОДИН раз при входе в цикл
2 - условие (если оно истинно) входа в цикл, т.е. исполнения операторов зоны 4
4 - оператор(ы) исполняемые в цикле в случае истинности условия 2
3 - действия, исполняемые после исполнения операторов зоны 4
5 - оператор(ы), исполняемые после выхода из цикла.
По синтаксису в зонах 1,2,3,4 во всех вместе или только в некоторых из них может вообще не быть ничего записано. Если же имеется необходимость поместить в зонах 1,3,4 более одного оператора, то их надо разделять ЗАПЯТОЙ. Точка с запятой там не допустимы, поскольку это сделает количество знаков ТОЧКА С ЗАПЯТОЙ внутри скобок оператора for отличным от двух, что противоречит синтаксису.
В зонах 1 и 3 допускается использование почти любых операторов, кроме оператором цикла и условных операторов. Если условие отсутствия там операторов цикла обойти не представляется возможным, то условный оператор может быть заменен оператором УСЛОВИЕ ?.
Не противоречащим синтаксису представляется такой "изощренный" оператор for
for (s=0,puts("Введите X"),scanf("%d",&x);x<10;s+=x++);