for( red = 0 ; red <= 255 ; red++ )
{
 printf("#%X0000\n",red) ;
}

redが15以下の時でも%Xが二桁になるような変換文字はないのでせうか