| Objective-C object, printed as the string returned by \u000adescriptionWithLocale:\u000a if available, or \u000adescription\u000a otherwise. Also works with \u000aCFTypeRef\u000a objects, returning the result of the \u000aCFCopyDescription\u000a function. |
| \u000a'%'\u000a character |
\u000a%d\u000a, \u000a%D\u000a, \u000a%i\u000a | Signed 32-bit integer (\u000aint\u000a) |
\u000a%u\u000a, \u000a%U\u000a | Unsigned 32-bit integer (\u000aunsigned int\u000a) |
| Signed 16-bit integer (\u000ashort\u000a) |
| Unsigned 16-bit integer (\u000aunsigned short\u000a) |
| Signed 64-bit integer (\u000along long\u000a) |
| Unsigned 64-bit integer (\u000aunsigned long long\u000a) |
| Unsigned 32-bit integer (\u000aunsigned int\u000a), printed in hexadecimal using the digits 0–9 and lowercase a–f |
| Unsigned 32-bit integer (\u000aunsigned int\u000a), printed in hexadecimal using the digits 0–9 and uppercase A–F |
| Unsigned 64-bit integer (\u000aunsigned long long\u000a), printed in hexadecimal using the digits 0–9 and lowercase a–f |
| Unsigned 64-bit integer (\u000aunsigned long long\u000a), printed in hexadecimal using the digits 0–9 and uppercase A–F |
\u000a%o\u000a, \u000a%O\u000a | Unsigned 32-bit integer (\u000aunsigned int\u000a), printed in octal |
| 64-bit floating-point number (\u000adouble\u000a) |
| 64-bit floating-point number (\u000adouble\u000a), printed in scientific notation using a lowercase e to introduce the exponent |
| 64-bit floating-point number (\u000adouble\u000a), printed in scientific notation using an uppercase E to introduce the exponent |
| 64-bit floating-point number (\u000adouble\u000a), printed in the style of \u000a%e\u000a if the exponent is less than –4 or greater than or equal to the precision, in the style of \u000a%f\u000a otherwise |
| 64-bit floating-point number (\u000adouble\u000a), printed in the style of \u000a%E\u000a if the exponent is less than –4 or greater than or equal to the precision, in the style of \u000a%f\u000a otherwise |
| 8-bit unsigned character (\u000aunsigned char\u000a), printed by \u000aNSLog()\u000a as an ASCII character, or, if not an ASCII character, in the octal format \u000a\ddd\u000a or the Unicode hexadecimal format \u000a\udddd\u000a, where \u000ad\u000a is a digit |
| 16-bit Unicode character (\u000aunichar\u000a), printed by \u000aNSLog()\u000a as an ASCII character, or, if not an ASCII character, in the octal format \u000a\ddd\u000a or the Unicode hexadecimal format \u000a\udddd\u000a, where \u000ad\u000a is a digit |
| Null-terminated array of 8-bit unsigned characters. \u000a%s\u000a interprets its input in the system encoding rather than, for example, UTF-8. |
| Null-terminated array of 16-bit Unicode characters |
| Void pointer (\u000avoid \*\u000a), printed in hexadecimal with the digits 0–9 and lowercase a–f, with a leading \u000a0x\u000a |
| Length modifier specifying that a following \u000aa\u000a, \u000aA\u000a, \u000ae\u000a, \u000aE\u000a, \u000af\u000a, \u000aF\u000a, \u000ag\u000a, or \u000aG\u000a conversion specifier applies to a \u000along double\u000a argument |
| 64-bit floating-point number (\u000adouble\u000a), printed in scientific notation with a leading \u000a0x\u000a and one hexadecimal digit before the decimal point using a lowercase \u000ap\u000a to introduce the exponent |
| 64-bit floating-point number (\u000adouble\u000a), printed in scientific notation with a leading \u000a0X\u000a and one hexadecimal digit before the decimal point using a uppercase \u000aP\u000a to introduce the exponent |
| 64-bit floating-point number (\u000adouble\u000a), printed in decimal notation |
| Length modifier specifying that a following \u000ad\u000a, \u000ai\u000a, \u000ao\u000a, \u000au\u000a, \u000ax\u000a, or \u000aX\u000a conversion specifier applies to a \u000asize\_t\u000a or the corresponding signed integer type argument |
| Length modifier specifying that a following \u000ad\u000a, \u000ai\u000a, \u000ao\u000a, \u000au\u000a, \u000ax\u000a, or \u000aX\u000a conversion specifier applies to a \u000aptrdiff\_t\u000a or the corresponding unsigned integer type argument |
| Length modifier specifying that a following \u000ad\u000a, \u000ai\u000a, \u000ao\u000a, \u000au\u000a, \u000ax\u000a, or \u000aX\u000a conversion specifier applies to a \u000aintmax\_t\u000a or \u000auintmax\_t\u000a argument |