Подтвердить что ты не робот

Что означает% s и% d в printf на языке C?

Я не понимаю, что делают %s и d% в этом коде на C:

for (i=0;i<sizeof(code)/sizeof(char*); i++) {
    printf("%s%d%s%d\n", "Length of String ", i, " is ", strlen(code[i]));
    str = code[i];
    printf("%s%d%s%c\n","The first character in string ", i, " is ", str[0]);
}

Я новичок в языке C, и мой фон находится на Java.

  • Что обозначают символы %s%d%s%d?
  • Почему их так много?
  • Используется ли запятая для конкатенации вместо +?
4b9b3361

Ответ 1

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

%s - Take the next argument and print it as a string
%d - Take the next argument and print it as an int

Смотрите эту статью в Википедии: " строка формата printf

\n в конце строки для символа новой строки/каретки.

Ответ 2

Обозначение

% называется спецификатором формата. Например,% d сообщает printf(), чтобы напечатать целое число. % s, чтобы напечатать строку (char *) и т.д. Вы должны действительно посмотреть ее здесь: http://google.com/search?q=printf+format+specifiers

Нет, запятые не используются для конкатенации строк. Запятые предназначены для разделения аргументов, переданных функции.

Ответ 3

Первый аргумент обозначает заполнители для переменных/параметров, которые следуют.
Например, %s указывает, что вы ожидаете, что String станет вашим первым параметром печати.

Java также имеет printf, который очень похож.

Ответ 4

% d печатается как int % s печатается как строка % f печатается как плавающая точка

Следует отметить, что неверно говорить, что это отличается от Java. Printf обозначает формат печати, если вы делаете отформатированную печать на Java, это точно такое же использование. Это может позволить вам решать интересные и новые проблемы как на C, так и на Java!

Ответ 5

Первый аргумент printf - это строка идентификаторов.

% s относится к строке % d относится к целому числу % c относится к символу. Поэтому:% s% d% s% c\n печатает строку "Первый символ в sting",% d prints i,% s prints "is", а% c печатает str [0].

Ответ 6

% s для строки % d для десятичной (или int) % c для символа

Кажется, что он пережевывает массив символов и печатает любую строку, начиная с каждой последующей позиции. Строки будут останавливаться при первом нуле в каждом случае.

Запятые просто разделяют аргументы на функцию, которая принимает переменное число аргументов; это число соответствует числу% args в дескрипторе формата спереди.

Ответ 7

"%s%d%s%d\n" - строка формата; он сообщает функции printf, как форматировать и отображать вывод. Все, что есть в строке формата, которая не имеет % непосредственно перед ней, отображается как есть.

%s и %d являются спецификаторами преобразования; они говорят printf, как интерпретировать остальные аргументы. %s сообщает printf, что соответствующий аргумент следует рассматривать как строку (в терминах C, 0-концевую последовательность char); тип соответствующего аргумента должен быть char *. %d сообщает printf, что соответствующий аргумент должен рассматриваться как целочисленное значение; тип соответствующего аргумента должен быть int. Поскольку вы исходите из фона Java, важно отметить, что printf (как и другие вариационные функции) полагается на вас, чтобы рассказать ему, какие типы остальных аргументов. Если строка формата была "%d%s%d%s\n", printf попыталась бы обработать "Length of string" как целочисленное значение и i как строку с трагическими результатами.

Ответ 8

% (буква) обозначает тип формата текста замены. % s указывает строку,% d целое число и% c a char.

Ответ 9

% s% d% s% d\n - строка формата. Он используется для указания способа форматирования информации на выходе. здесь строка формата должна печатать строку, за которой следует цифра, а затем строка, а затем цифра. Последний символ \n представляет возврат каретки, который обозначает конец строки. В C строки не могут быть объединены символом + или, хотя вы можете комбинировать разные выходы в одной строке, используя соответствующие строки формата (использование форматированных строк - форматирование информации о выходе).