gpt4 book ai didi

c - C中的for循环错误

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

我已经在这段代码上工作了很长时间,但我就是想不通!这段代码的目的是创建一个单词搜索游戏。但是,我将它要执行的功能分成了小部分,以便它们更易于管理。在下面的代码中,程序应该输出单词搜索的第一行,应该显示从 A 到 J 的字母,以及显示从 0 到 9 的数字的左列。该程序也意味着在 RANDOM 位置输出 4 个随机隐藏词(用户应该在游戏中找到)。我试图通过检查数组中的特定位置是否等于 NULL 来做到这一点,如果它是 NULL,则应在该位置输出随机词。但是,由于某种原因,屏幕上没有输出任何内容。

到目前为止,这是我的代码:

char getRandomCharacter();
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

char getRandomCharacter(){
int r = (rand() % 26) + 65;
return (char)r;
}

int main(void){

int randomNum;
int rand2;
char* wordSearch[10][10]={NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
const char *takenWords[4];
const char *words[20]={"DOG", "CAT", "ELEPHANT", "CROCODILE", "HIPPOPOTAMUS", "TORTOISE", "TIGER", "FISH", "SEAGULL", "SEAL", "MONKEY", "KANGAROO", "ZEBRA", "GIRAFFE", "RABBIT", "HORSE", "PENGUIN", "BEAR", "SQUIRREL", "HAMSTER"};


printf("\n\tA\t\tB\t\tC\t\tD\t\tE\t\tF\t\tG\t\tH\t\tI\t\tJ\n");
for(int i=1; i<11; i++){
printf("\n%d\t", i-1);

for(int i=0; i<4; i++){
do{
srand(time(NULL));
rand2=(rand()%10);
if(&wordSearch[rand2]==NULL){
int flag=0;
do{
randomNum = (rand()%20);
takenWords[i]=words[randomNum];
flag=0;
for(int j=0;j<i;j++){
if(strcmp(words[randomNum],takenWords[j])==0)flag=1;
}
}while(flag);
printf("%s\n", words[randomNum]);
}
}while(&wordSearch[rand2]==NULL);
}
printf("\n\n");
}
/*for(int j=0; j<10; j++){
char c=getRandomCharacter();
wordSearch[i][j]=c;
printf("%c\t\t", *(&(wordSearch[i][j])));
}*/

getchar();
return 0;
}

最佳答案

这个:

while(&wordSearch[rand2]==NULL);

一定是错的。数组中元素的地址永远不会是 NULL。您的意思可能是没有 &,但这也没有意义,因为 wordSearch 是一个二维数组 ...

关于c - C中的for循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34040157/

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