Деление на ноль
юзаю Borland C++ 5.2...
Как сделать что бы компилятор не ругался...а просто выдавал ноль...? Желательно избежать использования исключений try..catch..
юзаю Borland C++ 5.2...
Насколько я знаю ругается совсем не компилятор...
Пишем
int c=5;
int s;
s=c/0;
ShowMessage(s);
Явное деление но ноль но компилятор прекрасно компилирует данный код...
Да простят меня адепты этого форума если я сейчас в чем нибудь ошибусь... я попробую вспомнить как все это происходило в дос...
При выполнении математической операции в программе в случае если команда DIV поделила что нибудь на ноль (а именно в эту команду скорее всего компилятор и преобразует деление) вызывается прерывание INT 0
Это прерывание выводит на экран
Your program caused a divide overflow error.
If the problem persists, contact your program vendor.
и прерывает работу программы...
теоретически можно написать свой обработчик прерывания в дос для того что бы избежать этой проблемы...
В виндовс наверное окну посылается сообщение об ошибке которое ты можешь перехватить...
Это уже не ко мне я с этими месагами работаю слабо...
Так что тебе нужно не компилятор настраивать а перехватывать ошибку что проще всего как раз сделать через try..catch..
И я не пойму почему у тебя вообще встала такая проблема... не проще проверять данные перед делением? Опиши плиз ситуацию...
Я просто писал для себя маленькую функцию...которая берет целое число...и засовывает его поразрядно в массив.....и
из-за этих манипуляций с делением и вычислением остатка...наделал кучу ошибок..:(...
и..компилятор стал выдавать ошибку "divided by zero"....