#include <stdio.h>

void print_bytewise(const unsigned char *buf, size_t size) {
 size_t i;
 for (i = 0; i < size; i++) {
  printf("%02X ", buf[i]);
 }
 putchar('\n');
}

int main(void) {
 int n = 0x12345678;
 print_bytewise((const unsigned char*)&n, sizeof n);
 return 0;
}

これとやってる事は本質的に同じ。