c - 如何将随机生成的单词应用到条件中? - C

标签 c arrays if-statement random

我正在创建简单的正面或反面游戏,但是,我试图提出一个条件,如果您插入“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/

相关文章:

c - 在 Win 7 (cygwin) 中构建 OpenOCD 时如何解决 "undefined reference to ` isascii'"

动态lib(.so)版本的兼容性

java - 使用数组创建字符串

java - 如何从字符串数组生成HBase java Put类?

c - 对 `scanf_s' 的 undefined reference

c - 读取 find 命令提供的文件

c - 向矩阵添加额外的列

java - if else 语句中条件的顺序重要吗?

javascript - Angular : How to show icon. png 取决于项目的属性?

c - 如何使用指针删除字符串中的元音