запись "% d" в printf C - PullRequest
       1

запись "% d" в printf C

2 голосов
/ 15 июня 2010

Какой правильный синтаксис для этого кода: это:

printf("printf(\"\%d\",%s);", some_var);

или

printf("printf(\"%%d\",%s);", some_var);

Или что-то еще?

Ответы [ 2 ]

5 голосов
/ 15 июня 2010

Второй. %d определяется printf, а не языком C, поэтому вам нужно экранировать его с помощью printf %%, а не экранирования символов.

Более сложный пример с escape-последовательностью символов:

printf("printf(\"%%d\\n\",%s);\n", some_var);
3 голосов
/ 15 июня 2010

Второй. Чтобы напечатать литерал %, вам нужно экранировать его, добавив еще один %.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...