C:为什么数组的所有元素都是相同的

时间:2016-12-28 00:53:09

标签: c

函数rand_char用于生成将分配给字符串的随机字母。

char rand_char(){
    char rand_ch;
    srand(time(NULL));
    rand_ch = rand() %26 +'A';
    return rand_ch;
}
for (j=0; j<7; j++){
    game->players[0].hand[j].letter = rand_char();
}

如果我检查printf(&#34;%c&#34;,game-&gt; players [0] .hand [j] .letter);所有元素都有相同的字母。但他们应该有不同的随机字母。

1 个答案:

答案 0 :(得分:3)

您应该c.update(csrf(request)) 移出srand(time(NULL));rand_char()应该在srand循环之前完成一次,而不是每次都在for