Форум программистов, компьютерный форум, киберфорум C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для caelum
1 / 0 / 1
Регистрация: 28.11.2021
Сообщений: 18
1

проблема с особенностью scanf()

20.05.2022, 11:03. Показов 420. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
доброго времени суток. столкнулся с такой особенностью scanf().
я хочу, чтобы у меня считалось значение unsigned int и в случае ввода пользователем отрицательного значения, программа сообщала об ошибке. вот фрагмент кода:
C Скопировано
1
2
3
int n;
unsigned int value;
n = scanf("%u", &value);
проблема появляется тогда, когда я хочу посмотреть, что вернул scanf(). при чтении какой-нибудь строки без чисел, он возвращает 0, при EOF возвращает -1, все как положено, вернулось количество успешных считываний. но при чтении к примеру (-1), в value записывается 4294967295, а scanf() возвращает 1, что, кажется, не совсем логично.
как мне проверить, что вводил пользователь, и в случае отрицательного числа сообщить об ошибке?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2022, 11:03
Ответы с готовыми решениями:

Проблема с вводом символов '+' и '-' через scanf
Доброго времени суток всем. При написании кода возникла следующая проблема: при попытке ввести число, когда на вход подается символ,...

Проблема с повторным выводом строки после scanf
В данном куске кода я формирую строку, которая представляет собой число из 4х неповторяющихся цифр. После формирования я вывожу эту...

Проблема с чтением строки символов через scanf
проблема с чтением строки символов через scanf, раньше так всегда читало нормально, а щас пишет сначала "Run-Time Check Failure #3 -...

3
фрилансер
 Аватар для Алексей1153
6327 / 5461 / 1108
Регистрация: 11.10.2019
Сообщений: 14,527
20.05.2022, 11:22 2
Цитата Сообщение от caelum Посмотреть сообщение
unsigned int
не бывает отрицательным. Нужно считывать int

либо считывать как строку, а потом уже разбираться
1
 Аватар для caelum
1 / 0 / 1
Регистрация: 28.11.2021
Сообщений: 18
20.05.2022, 11:28  [ТС] 3
Алексей1153, я понимаю, что unsigned int не бывает отрицательным, просто техническое задание требует от меня использования переменных именно такого типа. ну да, видимо вариантом будет только чтение числа как строку :/
0
 Аватар для COKPOWEHEU
4045 / 2596 / 431
Регистрация: 09.09.2017
Сообщений: 11,559
20.05.2022, 11:52 4
Лучший ответ Сообщение было отмечено caelum как решение

Решение

Цитата Сообщение от caelum Посмотреть сообщение
но при чтении к примеру (-1), в value записывается 4294967295, а scanf() возвращает 1, что, кажется, не совсем логично.
А какого поведения вы ожидали? (-1) в unsigned int выглядит именно как 4294967295. Чтение одного аргумента прошло успешно, о чем scanf и отчитался.
Или вы хотите чтобы на ввод отрицательного числа он ругался? Можете читать в long int и если оно отрицательное, выдавать ошибку, а если положительное - присваивать результат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2022, 11:52
Помогаю со студенческими работами здесь

Проблема со scanf и printf
В общем, парни, выручайте. Прога не работает, при использовании scanf и printf (так надо по заданию), точнее, она работает, но либо выдает...

Не включается монитор (с забавной особенностью)
Ситуация вроде распространенная,но ответов,как таковых,я не нашел. После нажатия на кнопку питания стартует железо (жужжат...

Определенный интеграл с особенностью на отрезке
помогите решить - очень надо.. \int_{0}^{4}dx/(x-2)^2

Система уравнений с особенностью в нуле
Есть система диф.уравнений с начальными условиями, там особенность деления на ноль. При численном решении приходится отступать от нуля. Но...

Интеграл с корнем и логарифмической особенностью
Необходимо разобраться как решать интегралы типа: \int_{-\infty}^{\infty} dx \, \frac{\sqrt{x^2+a^2}}{(x^2+b^2)^2}\, ln(x+c) , где a и b...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Словари в Python: методы работы, оптимизация, сериализация
py-thonny 19.03.2025
Каждый хотя бы раз сталкивался с необходимостью хранить связанные данные, где важна не только сама информация, но и их взаимосвязь. В дебрях Python словари — это тот универсальный инструмент, который. . .
Реализация паттерна CQRS с Event Sourcing в PHP
Jason-Webb 19.03.2025
CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который разделяет операции чтения и записи данных в приложении. Если вы столкнулись с ситуацией, когда ваше PHP-приложение. . .
std::span в C++: Подпредставлени­я и срезы
NullReferenced 18.03.2025
Если вы когда-нибудь работали с большими объемами данных в C++, то наверняка сталкивались с необходимостью манипулировать отдельными частями массивов или контейнеров. Традиционные подходы часто. . .
std::span в C++: Доступ к элементам и итерирование
NullReferenced 18.03.2025
В C++ каждый разработчик сталкивается с проблемой эффективного управления последовательностями данных. Представьте: вы работаете с массивом, передаете его в функцию, а затем в другую, и каждый раз. . .
Утечки памяти в C#
UnmanagedCoder 18.03.2025
Когда мы говорим о разработке приложений на C#, то часто успокаиваем себя мыслью, что сборщик мусора решит все наши проблемы с памятью. "Память управляется автоматически" — эта мантра прочно засела в. . .
std::span в C++: Введение в невладеющее представление
NullReferenced 18.03.2025
С появлением стандарта C++20 у нас появился новый инструмент — std::span, который представляет собой невладеющее представление для работы с последовательностями данных. std::span — это легковесный. . .
Введение в Dapr для разработчиков .NET
UnmanagedCoder 18.03.2025
Разработка распределенных систем никогда не была настолько востребованной и одновременно такой сложной. Если вы . NET разработчик, то наверняка сталкивались с необходимостью жонглировать обнаружением. . .
Собеседование по Spring Boot: продвинутые вопросы и ответы
Javaican 18.03.2025
Собеседования на позиции старших разработчиков и архитекторов требуют глубокого понимания внутренних механизмов Spring Boot, нюансов конфигурирования, подходов к оптимизации и построению сложных. . .
Перечисления в TypeScript: использование и лучшие практики
run.dev 18.03.2025
Пишете код и устали от разбросанных по проекту "волшебных" строк и чисел? Знакомая ситуация: где-то в глубине кода притаилась строка "ADMIN", а в другом месте используется "admin". И вот уже. . .
Фишки Kotlin, которые все любят
Javaican 18.03.2025
Помню, как скептически относился к появлению "ещё одного языка для JVM" — мол, зачем нам что-то новое, когда есть Java? Но первый же проект на Kotlin заставил меня пересмотреть свое мнение. Код стал. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер