下記のコード(mainやincludeの部分は省略してます)で実行するとprintfが出力されず、プログラムも最後まで動かなくて止まりません。
コンパイルでは成功してて警告やエラーも出てません。
ずっと考えて少しずつ修正を加えたり試してるのですが、全然作れそうにないです。
どうすればタイトルのような機能を作れますか?

コード:

int len = 63;
int place[len];
struct timeval tv;

for(int i=0; i<len; i++) {
    gettimeofday(&tv, NULL);
    srand((unsigned int)tv.tv_sec * ((unsigned int)tv.tv_usec + 1));
    place[i] = rand() % 62;
}

int f=0;
for(int i=0; i<len; i++) {
    while(1) {
        f=0;
        for(int j=0; j<i; j++) {
            if(place[i] == place[j]) f=1;
        }
        if(f==1) {
            gettimeofday(&tv, NULL);
            srand((unsigned int)tv.tv_sec * ((unsigned int)tv.tv_usec + 1));
            place[i] = rand() % 62;
        } else {
            printf("%d ", place[i]);
            break;
        }
    }
}