Рассмотрим следующую реализацию функции onDiv,которая исполняет команду деления в проекте«Стековый калькулятор»:static void onDiv() { double y, x; if (st_size() < 2) { printf("Stack depth < 2.\n"); return; } y = st_pop(); x = st_pop(); assert(y != 0.0); // утв: y отлично от нуля st_push(x / y); display();}
Правильно ли здесь используется конструкция «утверждение»,которая в Си реализуется функцией assert?
(Отметьте один правильный вариант ответа.)
Варианты ответа
Правильно, поскольку деление на ноль невозможно, следовательно, выполнение программы должно быть прекращено.
Неправильно, поскольку прекращение выполнения программы при невыполнении утверждения должно происходить в результате ошибки в программе, а не из-за некорректных входных данных. (Верный ответ)