From 2ff0fd0ddff79e7a81de18d221fb7b7f7ef0c5a3 Mon Sep 17 00:00:00 2001 From: Anton Dolozin Date: Mon, 6 Oct 2025 16:18:52 +0200 Subject: [PATCH] Division by zero fix --- du3/program.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/du3/program.c b/du3/program.c index bfff09b..e57f4d0 100644 --- a/du3/program.c +++ b/du3/program.c @@ -47,10 +47,17 @@ void process_operations(struct stack* stack) { if (stack->size >= 2) { float b = pop_stack(stack); float a = pop_stack(stack); + if (line[0] == '/' && b == 0.0F) + { + printf("division by zero\n"); + return; + } + float res = (line[0] == '+') ? a + b : (line[0] == '-') ? a - b : (line[0] == '*') ? a * b : (line[0] == '/') ? a / b : 0; + push_stack(stack, res); print_stack(stack); } else {