си scanf



Scanf в си

Автор Mike zooom задал вопрос в разделе Другие языки и технологии

Не могу понять как работает scanf(). Си. и получил лучший ответ

Ответ от MaXX1020[гуру]
Использовать подобные функции не есть хорошо ибо как видишь глюки начинаются) И почему нельзя написать просто scanf("%s", str1); чтобы прога в эту переменную всё запихала?
MaXX1020
Просветленный
(37911)
Эм... Тут вроде надо уже на C++ переходить со cin/cout хотя не знаю точно. И можно ли к примеру завести какую нибудь буферную переменную символов так в 256 и уже от неё нужное количество символов отгрызать? Ну а вообще тут нужно количество вводимых символов контролировать, вот только что то никакого простого способа на ум не приходит.

Ответ от Александр Кузьмин[гуру]
А куда же они (лишние символы) будут деваться?

Ответ от Полосатый жираф Алик[гуру]
А почему тебе влом почитать описание scanf?
"Команды форматирования могут содержать модификатор максимальной длины поля. Он представляет собой целое число, располагаемое между знаком % и кодом формата, которое ограничивает количество читаемых для всех полей символов. Например, если в переменную address нужно прочитать не более 20 символов, используется следующий оператор.
scanf("%20s", address);
Если входной поток содержит более 20 символов, то при последующем обращении к операции ввода чтение начнется с того места, в котором "остановился" предыдущий вызов функцииscanf(). Если разделитель встретится раньше, чем достигнута максимальная длина поля, ввод данных завершится. В этом случае функция scanf() переходит к чтению следующего поля. "

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Не могу понять как работает scanf(). Си.

Как ввести строку с пробелами,используя scanf в Си,не используя gets?
Есть такая идея) , но нужно знать точно количество слов и их длину.. .
char
подробнее...
спросили в Формула 3
Что такое механическая работа? Какой буквой обозначается? В каких одиницах вымеряется?
Привет!
Механическая работа. Мощность
Механическая работа

Если действующая на
подробнее...
спросили в Stdio h Stdlib h
Динамический массив в Си
Операция new для языка C++, а в Си требуется такая конструкция при выделении памяти:подробнее...
спросили в Формула 2
кто знает формулу равноускоренного движения???
Равноускоренное прямолинейное движение.

Такое прямолинейное движение, при котором
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Евгений IV
что означает знак процента "%" в си++ ?
Смотря где стоит. . если в printf, то отвечает за форматирование.
При остальных операциях -
подробнее...
спросили в Stdio h
Помогите написать программу со switch в СИ
#include <stdio.h>
#include <conio.h>
#include <math.h>

int
подробнее...
спросили в Stdio h Stdlib h
Программирование. Одномерные массивы в си.
"я ни черта не понял на лекции" Совершенно нормально. Лекции служат только для того, чтобы понять,
подробнее...
спросили в Stdio h
Си. scanf(). не пойму почему не считываются значения. Подскажите, пожалуйста.
Проверьте соответствие форматной строки и типов данных, посмотрите настройки локали, обратите
подробнее...

scanf()
scanf() возвращает число успешно прочитанных элементов форматной строки, а не число байтов. В
подробнее...

Каковы заслуги И. М. Сеченова и И. П. Павлова в развитии учения о высшей нервной деятельности?
Иван Михайлович Сеченов (1829-1905 гг.)

Рефлекторная теория является одной из основных
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*