Я кодирую программу на C, которая требует, чтобы пользователь вводил 3 входа. Я использую зсап, чтобы получить номера:scanf чтение больше, чем требуется
printf("Enter the first value: ");
scanf("%lf", &eps);
while(eps < 0){
printf("Epsilon must be positive. Choose a new value: ");
scanf("%lf", &eps);
}
printf("Enter with the second value: ");
scanf("%lf ", &A);
while(A < 0){
printf("A must be positive. Enter with a new value: ");
scanf("%lf", &A);
}
if (A != 0){
printf("Enter the third value: ");
scanf("%lf", &w);
while(w < 0){
printf("w must be positive. Enter with a new value: ");
scanf("%lf", &w);
}
}
Проблема заключается в том, когда требуется второй вход, я поставил значение и мой зсапЕ просто игнорировать его и «просит новый номер» (я имею в виду, если Я вхожу в 1, мне нужно снова ввести 1, чтобы это значение было прочитано). Я не использовал C некоторое время, но я помню, что раньше у меня была эта проблема, и я использовал что-то вроде getch() или getchar() после scanf, чтобы проблема не произошла. Что я делаю не так?
Заранее благодарен!
Можете ли вы показать полный минимальный рабочий пример? Какой тип данных является eps, как он объявлен и определен? – mmoment
Что это значит? Я вводил 1 для epsilon, тогда он требует значения для A, но мне нужно ввести его дважды, чтобы значение считывалось. – Giiovanna
Вы должны IMO включать минимальный рабочий код и содержимое консоли при запуске программы. В противном случае любой ответ будет догадкой. –