すいません。割り込みます。教えてください。
文字コードを出力させるようなプログラムで
printfの出力がおかしくなります。その理由が
よくわかりません。

#include <stdio.h>
#define MAX 8

int main()
{
int i;
unsigned short CODE;
unsigned char hi,lo;
CODE=0x8888;

for (i=1; i<=MAX; i++)
{
lo = CODE & 0xFF;
hi = CODE >> 8 & 0xFF;

printf("0x%x:%c%c ",CODE,hi,lo);
if ( (i % 4) == 0 )
printf("\n");
CODE++;
}
printf("\n");
}