Я хочу напечатать "%SomeString%"
в C.Как напечатать% s в C?
Это правильно?
printf("%%s%",SomeString);
Я хочу напечатать "%SomeString%"
в C.Как напечатать% s в C?
Это правильно?
printf("%%s%",SomeString);
Нет, %% выходы%, поэтому правильный синтаксис:
printf("%%%s%%",string);
No.
Использование %%%s%%
информация: %% escapes to a символ. % s - управляющий код. –
Это решение освобождает вас от понимания того, как должны печататься специальные символы printf, такие как «%» или «\».
#include <stdio.h>
int main(void)
{
const char str[]="MyString";
printf("%c%s%c",'%',str,'%');
return 0;
}
Разве это не слишком оскорбительно? 'printf' имеет соответствующий escape-символ для'% ', так почему бы не использовать его? Если проблема запоминает это ... ну, это просто поиск Google. – nico
Не поймите меня неправильно, я бы не использовал это, если бы знал последовательности %% или \\, но по-прежнему хорошо знать, на мой взгляд. – INS
Да, хорошо понять, что вы можете это сделать. Я думаю, что это поможет людям понять, что делает printf. Но не делайте этого в производстве. :) – BobbyShaftoe
printf("%%%s%%", string);
должен выводить% с каждой стороны.
+1: Слово в слово, что у меня было в окне ответа. :) – sdolan