%d: accepts integer values and represents them as signed decimal integers.
%hd: Actually, it is to output a short integer.
The following code is also relevant.
l? : If used with d, it means a long integer; If used with f, it represents a double-precision floating-point number.
Extended data:
Other functions in C language
mathematical function
Long labs(long n) returns the absolute value of the long integer parameter n.
Double? Frexp(double value, int *eptr) returns the value of x in value=x*2n, where n is stored in eptr.
Double? ldexp(double value,int exp); Returns the value of value*2exp.
Character library function
int? If ch is a character (0- 127 in ASCII code), IsASCII(int ch) returns a non-zero value, otherwise it returns 0.
Baidu encyclopedia -C language function