Hexadecimal 0x10001 is equal to decimal 65537, so when output in decimal, it is 65537
And decimal -200 is output in decimal, so it is -200.
The 8 and 10 after the "%" are used to specify the output position, leaving 8 or 10 spaces in front.
The ld after it is a long integer, but now use %d directly That’s it.
If you still don’t understand, you can search for C language formatted output for a detailed explanation.