27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
|
||||||
1 | ||||||
Что означает команда exit(1) ?12.10.2011, 13:05. Показов 38612. Ответов 19
Метки нет (Все метки)
Добрый день.
Привожу кусок кода из учебника: Функция добавления элемента в очередь:
0
|
12.10.2011, 13:05 | |
Ответы с готовыми решениями:
19
Поясните пожалуйста что означает двоеточие и то что идет после него скажите пожалуйста, что означает здесь b. ,это какия-либо функция или что? Что означает запись в скобках и что возвращает return ошибка Id returned 1 exit status что может значить? |
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
|
|
12.10.2011, 13:08 | 2 |
exit(1)
1-выход когда всьо нормально завершылось 0-с ошыбками
0
|
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
||||||
12.10.2011, 13:22 | 3 | |||||
Mr.kto, наоборот, exit(0) или exit(EXIT_SUCCESS) - это успешное завершение
exit(1) - завершение с кодом ошибки 1 Alex Z, там вполне может стоять что-то другое, например, генерация исключений. Но автор книги выбрал именно такой подход - при невозможности выполнить какую-то операцию завершать работу программы аварийно с кодом 1. Может, потому, что в учебниках обычно исключения рассматривают позже Раз у тебя функция типа void, можно было вообще написать что-то такое
2
|
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
|
|
12.10.2011, 13:24 | 4 |
ХЗ мож
0
|
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
|
|
12.10.2011, 13:41 [ТС] | 5 |
Всё, понял, спасибо.
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
12.10.2011, 14:45 | 6 | |||||
Alex Z, это образец очень плохого проектирования:
Во-первых функция, намертво привязанная к некоторому глобальному объекту - уже крайне сомнительное решение. Во-вторых функция в случае ошибки должна о ней сигнализировать, а не принимать решение о завершении программы. То есть логичнее было бы объявить её булевого типа и возвращать TRUE, если функция отработала, и FALSE, если не смогла. Ну или в С-стиле
Вот так как-раз тоже лучше не делать - во-первых для сообщения об ошибках есть поток cerr (stderr), который в отличии от cout не имеет обыкновения буферизироваться, то есть может сложиться ситуация, что сообщение просто не выведется; во-вторых программа-то что дальше должна делать? Продолжать выполняться не смотря на то, что функция не отработала, как должна бы?
0
|
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
12.10.2011, 15:14 | 7 |
easybudda, я же не говорю, что так надо делать
Тут еще у меня вопрос: какой смысл в операции Last++, если мы Last передаем по значению, а не по ссылке? Что мы хотим таким образом менять? Это вообще правильно?
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
12.10.2011, 15:17 | 8 |
Нет, это тоже ересь. Либо Last - тоже глобальная переменная, тогда её незачем было бы передавать парпметром, либо изменённое значение сразу же потеряется при выходе из функции.
Что за учебник такой?
1
|
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
|
|
12.10.2011, 15:20 | 10 |
наверное, если б Last был глобальным и не передавался, тоже бы работало
Не по теме: действительно странный какой-то учебник
0
|
easybudda
|
12.10.2011, 16:02
#12
|
Не по теме: alkagolik, а если строки с int main и int x местами поменять? ;)
0
|
Заблокирован
|
||||||
12.10.2011, 16:11 | 14 | |||||
Код
~/documents/projects/system/bin/Debug$ ./system 10 10 100
0
|
easybudda
|
12.10.2011, 16:15
#15
|
0
|
fasked
|
12.10.2011, 16:16
#16
|
Не по теме: easybudda, а я уж было начал заподазривать неладное :D
0
|
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
|
|
18.10.2011, 09:16 [ТС] | 18 |
Называется "М. Динман - С++. Освой на примерах". Издание 2006 года. Он вроде написан для Borland C++ 5.02.
Я когда приводил примеры из него, то мне на многих форумах писали, что книга плохая, но у меня нет другой. Все советуют "Либерти - С++ за сколько то дней (не помню за сколько)", но в магазине такой книги нет, а читать с монитора мне неудобно.
0
|
solar_wind
|
18.10.2011, 09:33
#19
|
Не по теме: Да вы ничего не понимаете...это наверное редакторы случайно название у книжки обраезали, а на самом деле она называется "Освой на примерах как не нужно писать программы". Новая методика, поставить ученику столько граблей, что бы ему ничего не оставалось как самому во всем разобраться )
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
18.10.2011, 11:03 | 20 |
Alex Z, список литературы. В любом мало-мальски вменяемом книжном что-нибудь, да подберёте.
1
|
18.10.2011, 11:03 | |
18.10.2011, 11:03 | |
Помогаю со студенческими работами здесь
20
Что такое #, include, что это означает Что означает команда reset? Что означает команда send to ' ' Что означает эта команда? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |