如何生成一个三个位的十六进制数

c语言如何生成一个三个位的十六进制数,最好能发下代码,注释下关键代码

img


#include<stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
    char c[16];
    int j;
    for(j=0; j<10; j++)
    {
        c[j]=j+48;
    }
    for(j=10; j<16; j++)
    {
        c[j]=j+55;
    }
    for(j=0; j<16; j++)
    {
        printf("%c",c[j]);
    }
    srand(time(0));
    int a[3];
    j=0;
    while(j<8)
    {
    a[0]=rand()%16,a[1]=rand()%16,a[2]=rand()%16;
    //printf("\n%d  %d  %d",a[0],a[1],a[2]);
    
    printf("\n生成的16进制数:%c%c%c\n",c[a[0]],c[a[1]],c[a[2]]);
    j++; 
    }
}
 

啥是3个位