Язык программирования C

Скачать в pdf «Язык программирования C»


Символы преобразования приведены в табл. 7.1. Если после знака % стоит не спецификация формата, а что-то другое, результат будет непредсказуемым.


Таблица 7.1. Основные спецификации формата функции printf


Символ Тип аргумента и способ вывода


d,    i    int; десятичное целое число


о    int; восьмеричное целое число без знака    (без нуля впереди)


х, х    int; шестнадцатеричное целое число без    знака (без    Ох или ох в начале) с применением соответственно цифр abcdef и ABCDEF для 10…..15


u    int; десятичное целое число без знака


с    int; отдельный символ


s    char *; выводятся символы из строки, пока не встретится • о •, или в количестве, заданном пара


метром точности


f    double; [-) m.dddddd, где количество цифр на месте букв d задается параметром точности (по


умолчанию 6)


e,    е double; [-] ш.ddddddetxx или [-] т. ddddddEtxx, где количество цифр на месте букв d зада


ется параметром точности (по умолчанию 6)


g, G double; эквивалентно или %е, если показатель степени меньше -4, или больше, или равен заданной точности; в противном случае эквивалентно %f. Нули и десятичная точка в конце числа не выводятся


р    void *; указатель (точное представление зависит от конкретной системы и реализации языка)


%    преобразование аргументов не выполняется, выводится символ %


Ширину или точность можно указать в виде символа *. В этом случае нужное значение будет вычисляться по следующему аргументу (который должен иметь тип int). Например, вывод не более шах символов из строки s выполняется так: printf(«%.*s», шах, s);


Почти все спецификации формата уже иллюстрировались примерами в предыдущих главах. Одно из исключений состоит в применении параметра точности к строкам. Следующая таблица показывает, как работают разные спецификации при выводе строки «hello, world» (12 символов). Каждое поле вывода окружено двоеточиями, чтобы было видно его длину:

Скачать в pdf «Язык программирования C»