众所周知,可以在十六进制数前面加0x来确保它是十六进制,而%d是十进制,所以。。。

#include <stdio.h>

int main() {
    printf("%15d",0xABCDEF);
    return 0;
}