Search code examples
cprintfformat-string

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


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

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

Solution

  • 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: %%