随机输出unicode中的任意字符

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
char u[17]="0123456789abcdef";
long bitcount = 0;
printf("请输入要生成的文字的字节数:");
scanf("%ld",&bitcount);
char uni[5]="0000";
int i;
int j;
for(i=0;i<bitcount;i++)
{
srand(time(NULL));
for(j=0;j<4;j++)
{
uni[j]=u[rand()%16];
}
printf("\u%c%c%c%c",uni[0],uni[1],uni[2],uni[3]);
return 0;
}


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
    srand((unsigned int)time(NULL));
    long bitcount = 0;
    printf("请输入要生成的文字的字节数:\n");
    scanf("%ld",&bitcount);
    long i;
    long t;
    for(i=0;i<bitcount;i++)
    {
        t = rand()%0x10000;
        printf("%c",t);
    }
    return 0;
}

供参考:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
    char u[17]="0123456789abcdef";
    long bitcount = 0;
    srand((unsigned int)time(NULL));  //这句移到循环外
    printf("请输入要生成的文字的字节数:");
    scanf("%ld",&bitcount);
    char uni[7]={0};//char uni[5]="0000";
    int i;
    int j;
    for(i=0;i<bitcount;i++)
    {
        for(j=0;j<7;j++)  //for(j=0;j<4;j++)
        {
            uni[j]=u[rand()%16];
        }
        printf("\u%c%c%c%c%c%c%c",uni[0],uni[1],uni[2],uni[3],uni[4],uni[5],uni[6]);
    }
    return 0;
}