ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
30 июня
339516 Топик полностью
fk0, легенда (08.07.2012 10:59, просмотров: 207) ответил Лeoнид Ивaнoвич на Я тоже go to ни разу не использовал, при этом другие извращения тоже не понадобились. Я и float в микроконтроллерах не использую.
Это лишь говорит, что ваше ПО весьма несложное. Зачем goto -- классика, это выход из более чем одного вложенного цикла. Альтернатива -- это либо переменная-флаг и проверка в каждом вложенном цикле, либо каждый слодующий цикл в отдельной функции и return. Но последнее решение наталкивается на область видимости переменных функции, а вложенные функции (наподобии паскаля) есть только в GCC. Ещё классика -- что-то вроде try-catch-finally. Когда опять же вынос кода в отдельную функцию наталкиается на необходимость видимости локальных переменных. Да и просто код с goto иногда куда более внятный и читаемый, чем извращения предпринятые только ради того, чтобы goto избежать. Неспроста goto зачем-то есть в стандарте языка... setjmp/longjmp как альтернативу C++ исключениям использовать можно, хотя конечно и костыли. Но это зачастую лучше, чем уродовать два десятка вложенных функций ненормальным интерфейсом, чтоб возвращать код ошибки для исключения. Float тоже. Ваши задачи не требуют float? Такие задачи. Многие вещи в целых числах не посчитать, разрядности не хватит, при том, что они легко считаются без double. В ваших задачах нет тригонометрии, экспоненты, квадратов и корней? Самодельный же float будет явно хуже библиотечного, это годами нужно тренироваться...
[ZX]