|
Виж темите без отговор | Виж активните теми
Дата и час: Пет Авг 21, 2026 9:07 am
Незабавен изход от функция в С
| Автор |
Съобщение |
|
iivantodorov
Ранг: Минаващ
Регистриран на: Пет Фев 05, 2010 7:53 pm Мнения: 25
|
Съжалявам, че ви бъркам явно не мога да си обясня идеята правилно: двете условия 2 и 3 могат да възникнат когато е изпълнено условие1 тогава трябва да се прескочи code4, независимо кое от двете е изпълено (двете едновременно няма да възникнат). Само условие 2 обаче може да възникне и когато не е изпълнено 1, затова го проверявам втори път.
Благодаря за съвета, донякъде и аз съм чел че е така, но явно ми трябва още време и труд.
|
| Вто Апр 05, 2011 2:14 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Всъщност да - и в моя код, винаги ще се провери условие 2. Грешката в предния пост е моя, кода ще работи както искаш ти.... поне така си мисля
Не разбирам какво точно те притеснява - това че два пъти проверяваш условие 2 ли? Напрактика то ще се провери само веднъж, така че като бързодействие нямаш проблем. Това че имаш един if повече са няколко байта и няма какво да те притеснява при съвременните контролери.
На практика if-else, do-while, while, for са много "бързи" конструкции сами по себе си. Всички съвременни процесори са оптимизирани за работа с тях, така, че можеш да ги ръгаш наволя. Забавянето в тях идва онсовно от това колко сложно е самото условие което проверяват. Например ако условието което проверяваш е нещо от типа a+b/c+sqrt(d) - това наистина ще е бавно и обемно:) И може да се мисли за оптимизация. Но не с goto и continue.
Но ние всъщност идея си нямаме какво се опитваш да направиш, нито на какъв процесор, нито на какъв комплатор, така, че да говорим за бързодействие е меко казано празни приказки. По скоро говорим за алгоритмичност и чистота на кода, което е нещо малко по друго.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Апр 05, 2011 2:26 pm |
|
 |
|
iivantodorov
Ранг: Минаващ
Регистриран на: Пет Фев 05, 2010 7:53 pm Мнения: 25
|
Евала, отново ти благодаря.
Нека да отговоря, ползвам CCS и picF2520.
Забелязал съм, повече if-ове заемат повече ресурс. Но явно проблема е в това каквото съм проверявал с тях.
В момента проверявам неща от сорта на А>Б, и искам да постигна максимално изчистен код.
До сега каквото съм си писал, е тръгвало. Но обаче ако ви го покажа ще ме замеряте с камъни, затова основния ми стремеж в момента е да се науча да пиша четлив код (не само да пляскам коментари и да си мисля че някой ще ме разбере), както и ефикасни алгоритми.
Самоук съм, не съм го учил това нито в университета нито в училище. В университета учихме малко асемблер, ама там гото пляскахме като за световно.
За съжаление книгата която ми препоръчаха по-горе не е налична никъде където успях да проверя, а изглежда (както и коментарите за нея) наистина добра.
|
| Вто Апр 05, 2011 2:36 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
90% от пишещите тук във форума сме самоуки програмисти. Или поне повечето сме учили програмиране, колкото да не заспим. И после сме научавали всичко сами в крачка.
Естествено има и учили програмисти (включително тук). Аз работя с такива хора и виждам, че ако човек го е учил наистина както трябва... абе определено има разлика, когато основите са положени както трябва.
Обаче това е рядък случай, както казах масово програмистите сме самоуки. То не само в БГ е така.
Аз самия никога не съм се имал за "качествен" програмист. Уча се постоянно, програмирам от 20-25 години и въпреки това се имам за посредствен програмист.
Щото програмирането не ми е кой знае какъв кеф. Правя го , нещата работят, печеля от това. И толкоз. Не съм виртуоз. И 50% от програмистите са така. Други 40% са гола вода със самочуствие. И едва 10% са истински програмисти. Които обикновенно са недооценени 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Апр 05, 2011 2:49 pm |
|
 |
|
iivantodorov
Ранг: Минаващ
Регистриран на: Пет Фев 05, 2010 7:53 pm Мнения: 25
|
Значи ще ползвам твоя вариант, за да няма continue, и продължавам напред с борбата.
Може да се счита темата за приключила.
Апък ако има нещо занапред ще питам пак, стига да не ви разсмивам много.

|
| Вто Апр 05, 2011 3:33 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 4 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|