gpt4 book ai didi

c - c中的随机字符

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:32 25 4
gpt4 key购买 nike

我写了一个程序,试图通过随机选择字符来“猜”一个词。但是,我的程序正在打印不在我的字符列表中的字符。这是怎么回事?

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int main(){

int index, i;
time_t t;
char characters[] = "bdefgir";
char word[] = "friedberg";
srand((unsigned)time(&t));
char result[9] = {0};

while(strcmp(result, word) != 0){

for (i = 0; i < 9; i++) {
index = rand() % 8;
result[i] = characters[index];
}
printf("Result:\t%s\n", result);

}

return 0;

}

最佳答案

您拼错的变量 wort 应该是 word。此外,您还必须拥有包含 9 个字符(如单词 "friedberg")并以 '\0' 字符结尾的 result 数组(因此字符总数实际上是 10)。

正确的解决方案是:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

int main() {

int index, i;
time_t t;
char characters[] = "bdefirg";

char word[] = "friedberg";

srand((unsigned) time(&t));
char result[10];
result[9] = '\0';

while (strcmp(result, word) != 0) {

for (i = 0; i < 9; i++) {
index = rand() % 7;
result[i] = characters[index];
}
printf("Result:\t%s\n", result);

}

return 0;

}

关于c - c中的随机字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com