| Code | Format |
| %a | Hexadecimal output in the form 0xh.hhhhp+d (C99 only). |
| %A | Hexadecimal output in the form 0Xh.hhhhP+d (C99 only). |
| %c | Character. |
| %d | Signed decimal integers. |
| %i | Signed decimal integers. |
| %e | Scientific notation (lowercase e). |
| %E | Scientific notation (uppercase E). |
| %f | Decimal floating point. |
| %F | Decimal floating point (C99 only; produces uppercase INF, INFINITY, or NAN when applied to infinity or a value that is not a number. The %f specifier produces lowercase equivalents.) |
| %g | Uses %e or %f, whichever is shorter. |
| %G | Uses %E or %F, whichever is shorter. |
| %o | Unsigned octal. |
| %s | String of characters. |
| %u | Unsigned decimal integers. |
| %x | Unsigned hexadecimal (lowercase letters). |
| %X | Unsigned hexadecimal (uppercase letters). |
| %p | Displays a pointer. |
| %n | The associated argument must be a pointer to an integer. This specifier causes the number of characters written (up to the point at which the %n is encountered) to be stored in that integer. |
| %% | Prints a percent sign. |