1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Игорь |
5.07.2011 18:30
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 56 Пол: Мужской Репутация: 2 |
Хочу написать програмку-калькулятор (по книге Кернигана и Ритча).
Суть простая: вводится выражение в форме обратной польской нотации, оно вычисляется и выводится результат. Программу разбил на функции: 1) GetLine - получение строки (работает нормально). 2) calculate - вычисление и получение результата, вот тут проблема, при входе в функцию появляется та самая ошибка сегментирования. 3) getop - получение следующего элемента из строки. (тоже самое). 4) pop и push - работа со стеком. (работают тоже не правильно, но по крайней мере из-за них программа не вылетает). Компилятор GCC. calculate (Показать/Скрыть)
getop (Показать/Скрыть)
|
![]() ![]() |
| IUnknown |
5.07.2011 18:34
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Ты бы полностью программу показал... Если у тебя до printf даже не добирается - то зачем все, что ПОСЛЕ, если нет того, что ДО?
|
Игорь Ошибка сегментирования 5.07.2011 18:30
Игорь Вообще программа была разбита файлы, но я соединил... 6.07.2011 8:08
IUnknown На предупреждения компилятора внимание не хочешь о... 6.07.2011 8:58
IUnknown Еще 2 ошибки:
1) перед тем, как заталкивать число... 6.07.2011 9:37
Игорь Спасибо за найденные ошибки, с помощью gdb нашёл е... 6.07.2011 16:51
IUnknown Не подтверждается. Установил брейкпойнт в точке
... 6.07.2011 17:48
Игорь Ну, вроде всё работает.
atof стал считать, когда ... 7.07.2011 5:40
IUnknown Для этого с момента создания языка С достаточно сд... 8.07.2011 9:49![]() ![]() |
|
Текстовая версия | 8.12.2025 17:33 |