【问题标题】:C: Why all elements of array are the same [duplicate]C:为什么数组的所有元素都相同[重复]
【发布时间】:2016-12-28 00:53:09
【问题描述】:

函数 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("%c",game->players[0].hand[j].letter);所有元素都有相同的字母。但它们应该有不同的随机字母。

【问题讨论】:

标签: c


【解决方案1】:

您应该将srand(time(NULL)); 移出rand_char()srand 应该在 for 循环之前执行一次,而不是每次都在 rand_char() 中执行一次

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    相关资源
    最近更新 更多