Главная » iPhone, Objective-C, Программирование для iOS и MacOS » printf() – Objective-C

0

Но прежде чем браться за числа, мы рассмотрим функцию printf(), которая тоже уже использовалась в наших программах. Функция printf() выводит на консоль строку, то есть цепочку символов. По сути, строка содержит некоторый текст. Откройте   проект   ClassCertificates и   найдите   в   файле   main.c   функцию congratulateStudent().

void congratulateStudent(char *student, char *course, int numDays)

{

printf("%s has done as much %s Programming as I could fit into %d days.\n", student, course, numDays);

}

Что делает этот вызов printf()? Вообще-то вы уже видели результат и знаете, что она делает. Давайте разберемся, как она это делает.

Функция printf() получает аргумент – строку. Чтобы определить строковый

литерал (в отличие от строки, хранящейся в переменной), следует заключить текст в кавычки.

Строка, передаваемая printf(), называется форматной строкой. Форматная строка может содержать заполнители. В нашем примере строка содержит три заполнителя: %s,%s и %d. При выполнении программы заполнители заменяются значениями переменных, следующих за строкой, – в нашем примере это переменные student, course и numDays.  Обратите внимание: переменные подставляются на место заполнителей в указанном порядке. Если поменять местами student и course в списке переменных. то сообщение будет выглядеть так:

Cocoa has done as much Mark Programming as I could fit into 5 days.

Тем не менее заполнители и переменные нельзя заменять по своему усмотрению. Заполнитель %s означает, что на его место должна подставляться строка,

а заполнитель %d предназначен для целого числа. (Попробуйте поменять их местами и посмотрите, что про изойдет).

Обратите внимание: переменные student и course объявлены с типом char*. Пока

считайте, что char* – это обычная строка. Мы еще вернемся к строкам Objective-C в главе 14, а к типу char* – в главе 34.

Наконец, что это за \n? В командах printf() символ перевода строки необходимо явно включать в выводимые данные, иначе все данные будут выводиться в одну строку. Комбинация \n обозначает символ перевода строки (или символ новой строки).

А теперь вернемся к числам.

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии