Язык Си шаг за шагом — страница 10

  • Просмотров 17655
  • Скачиваний 2168
  • Размер файла 405
    Кб

адрес переменной, а не ее значение). ┌ ┌─ форматная строка ───┐ ┌──────┐фактические printf("....%***...%***...%***",p1,p2,p3); параметры │ │ └─>>─│──│──┘ переменного │ └───>>──────│──┘ списка └─────>>───────────┘ Спецификация формата ввода-вывода фактического параметра

([] обозначают необязательную часть) ┌ % [флаги][ширина][.точность][модификатор] тип ────────────┐ │ │ │ ├─ "F" far-указатель │ │ │ │ ├─ "N" near-указатель │ │ │ │ ├─ "h" параметр типа short │ │ │ │ └─ "l" параметр типа long │ │ │ │ или double (для scanf)│ │ │ ├─ "0" без дробной части │ │ │ ├─ n не

более n знаков после точки │ │ │ └─ * задается следующим фактическим │ │ │ параметром функции │ │ ├─ n минимальная ширина поля n (незаполненные │ │ │ позиции - пробелы) │ │ ├─ 0n то же, незаполненные позиции - нули │ │ └─ "*" задается следующим фактическим │ │ параметром функции │ ├─ "-" выравнивание по левому краю поля │ │ (по умолчанию - по правому)

│ ├─ "+" выводится знак числа ("+" или "-") │ ├─ " " выводится пробел перед положительным числом │ └─ "#" выводится идентификатор системы счисления │ ("0" -восьмеричная, "0x" -шестнадцатеричная, │ "." -для float) char "c" ────────┤ десятичное int "d" ────────┤ то же "i" ────────┤ десятичное

unsigned "u" ────────┤ восьмеричное unsigned "o" ────────┤ шестнадцатеричное unsigned "x" ────────┤ со строчными и прописными А..F "X" ────────┤ float в формате ***.*** "f" ────────┤ float в формате *.***e*** "e" ────────┤ float в формате *.***E*** "E" ────────┤ в

зависимости float ("e" или "f") "g" ────────┤ от точности float ("E" или "F") "G" ────────┤ char * "s" ────────┘ (ввод по точности или до \n, вывод по точности, до \n или до \0) 10. Функции позиционирования и блочного ввода-вывода