0

This is a code snippet from my program:

#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double get_number()
{
    double num;
    int result;
    do
    {
        printf("Enter number: ");
        result = scanf("%lf", &num);
    } while (result != 1);

    return num;
}

When the user does not enter a number, I expected the program to simply ask for inout again, but instead, it just does this:

"Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: Enter number: ^C"

until I end the program manually. What's wrong?

I tried used fflush(stdin), but to no avail. I really don't know where to start.

0 Answers0