Оператор goto и цикл while
- Войдите на сайт для отправки комментариев
Сб, 06/04/2013 - 15:41
Приветствую формучане.
Интересует вот такой вопросик. Есть следующий код
while (lab==1) { if (flag==1) {mainmenu(lab1,lab);} knopka=digitalRead(knop); if ((flag!=1)&&(knopka==1)) {goto label2;} gg=digitalRead(pinA); gg1=digitalRead(pinB); if ((gg==1)&&(gg1==1)) {lab=0;} }
Вот где идет проверка по переменной flag и knopka (5 строка) будет осуществлен выход из цикла и переход к метке? или надо сначала break а потом goto?
переход то будет, только вернетесь ли обратно. кто знает где крутится ваш while и где label2, вы же этого не показали.
а если честно, то goto в си используется как очень большое исключение. можно обойтись и без этого.
а если честно, то goto в си используется как очень большое исключение. можно обойтись и без этого.
Это еще мягко сказано. Скорее "вообще не используется". Это "рудименты прошлого". И скорее признак новичка и аларм "плохой код". Всегда код можно переписать так, что бы goto не использовался. Вообщем когда продумываете реализацию своей логики - представте что оператора goto - не существует (по крайней мере если вы не на ассемблере пишите).
Ну да. Ваще пардон))если честно осталась дурацкая превычка с универа, где много писал на фортране)))
Проверил..можно же просто break и все))
А так вы правы..новичок и есть)))буду отвыкать)