%hd is used for short integer or unsigned short integer %hhd is for short short integer or unsigned short short integer %ld is for long integer or unsigned long integer %lld is for long long integer or unsigned long long integer Simple as that. Here h , hh , l , ll are just length modifiers in %d