我正在创建简单的正面或反面游戏,但是,我试图提出一个条件,如果您插入“h”并且随机生成的答案是正面,代码将打印您得到正确答案的信息。随机生成的正面或反面工作正常,但是,我不知道如何在代码末尾的 if 条件中引用翻转的结果。
这是我到目前为止的代码:
#include<stdio.h>
#include<unistd.h> //for sleep function
#include <stdlib.h> //for array
#include <time.h> //for random array
//Array
int cool(void) {
int i;
int ht;
i = 2;
ht = 0;
srand((unsigned)time(NULL));
ht = rand() % i;
return ht;
}
int main(int argc, char **argv)
第二部分
const char* o[2] = {
"Heads", "Tails" //Where the words heads and tails are stored
};
//Coin Flip begins
printf("\nType 'h' for heads & 't' for tails\n");
printf("\nHeads or Tails? \n");
scanf("%c", &a);
//sleep(3);
printf("%s\n",o[cool()]); //random heads or tails generated
//sleep(3);
if ( o == "Heads" && a == 'h' || o== "Heads" a == 'H' )
{
printf("\nCorrect!\n");
}
return 0;
}
如果之前有人问过这个问题或者我问错了,我深表歉意。我是编码和堆栈新手,因此反馈会很有帮助
最佳答案
您必须将 cool()
返回的值保存在变量中,例如:
int res = cool();
printf("%s\n",o[res]); //random heads or tails generated
那么你的 if 语句可以是这样的:
if ((a == 'h' || a == 'H') && res == 0)
或
if (toupper(a) == 'H' && res == 0)
如果您喜欢与字符串进行比较,可以使用 strcmp
进行比较,如下所示:
if ((a == 'h' || a == 'H') && (strcmp(o[res], "Heads") == 0))
请注意,字符串不能使用==
进行比较
关于c - 如何将随机生成的单词应用到条件中? - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532670/