Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Чтение строк



Функция scanf() может использоваться для чтения строк и потока ввода, для чего надо указать спецификатор формата % s. % s заставляет функцию scanf() читать символы, пока не встретится специальный символ. Прочитанные символы помещаются в массив символов, на который указывает соответствующий аргумент, и результат завершается нулевым пробелом. Применительно к scanf() специальные символы – это пробел, новая строка, табуляция, вертикальная табуляция или перевод формата. В противоположность gets(), которая читает строку, пока не встретиться возврат каретки (нажатие <Enter>), функция scanf() читает строку до первого специального символа. Это означает, что нельзя использовать scanf() для чтения строки типа «this is a test», поскольку первый пробел завершит процесс ввода.

Ввод адреса

Для ввода адреса следует использовать спецификатор формата % р. Данный спецификатор позволяет функции scanf() читать адрес в формате, определяемом архитектурой процессора. Например, следующая программа читает адрес и отображает содержимое по этому адресу:

#include <stdio.h>

int main(void)

{

char *p;

printf(“Enter an adress: ”);

scanf(“%p”, &p);

printf(“Value at location %p is %c\n”, p, *p);

}

Спецификатор %n

Спецификатор % n говорит функции scanf() о необходимости присвоения переменной, на которую указывает соответствующий аргумент, числа прочитанных символов из потока ввода на момент обнаружения % n.





Дата публикования: 2015-10-09; Прочитано: 157 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...