Как избежать знака% (процентов) в printf C? - PullRequest
256 голосов
/ 07 декабря 2009

Как избежать знака% при использовании printf в C?

printf("hello\%"); /* not like this */

Ответы [ 14 ]

2 голосов
/ 25 мая 2015

вы используете неверный спецификатор формата, вы должны использовать %% для печати %. Ваш код должен быть:

printf("hello%%");  

Подробнее все описатели формата, используемые в C .

2 голосов
/ 08 декабря 2009

Да, используйте printf ("hello %%"); и это сделано.

0 голосов
/ 21 октября 2017

Двойной '%' работает также в ".Format (…). Пример (с iDrawApertureMask == 87, fCornerRadMask == 0,05): csCurrentLine.Format("\%ADD%2d%C,%6.4f*\%",iDrawApertureMask,fCornerRadMask) ; дает желаемое и ожидаемое значение (содержимое строки в) csCurrentLine; "% ADD87C, 0,0500 *%"

0 голосов
/ 08 декабря 2009

Используйте это:

#include <stdio.h>
printf("hello%s%s");

Полный список спецификаторов формата, используемых с printf, можно найти здесь:

http://www.mekong.net/tech/printf.htm

...