How to escape the % (percent) sign in C’s printf

cformat-stringprintf

How do you escape the % sign when using printf in C?

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

Best Answer

You can escape it by posting a double '%' like this: %%

Using your example:

printf("hello%%");

Escaping the '%' sign is only for printf. If you do:

char a[5];
strcpy(a, "%%");
printf("This is a's value: %s\n", a);

It will print: This is a's value: %%