c - 如何检查变量是否等于单词

标签 c string

我有这个代码。我希望当用户写 yes 时程序会打印 OK。 然而,程序写的是

"yes is undeclared".

如何让程序将 'yes' 视为单词而不是变量?

char a = ' ';
scanf("%c",&a);
if(a == yes)
{
    printf("OK");
}

最佳答案

首先,'yes'不是一个单词(刺痛,如果你是这个意思),"yes"是。

<小时/>

也就是说,你根本不适合这个想法。一种可能的实现如下所示

  1. 首先,您需要为输入定义一个数组,例如 char a[12] = "no" ;因为您需要根据需要存储多个字符。 (此处使用的尺寸仅供引用)。
  2. 使用 scanf() 扫描用户输入,例如scanf("%11s", a) ;
  3. 使用 strcmp() 来自string.h ,作为比较,例如 if (!strcmp(a, "yes")) .

另一种可能的实现可以利用 enum"YES""no" ,将用户选择作为整数并利用旧的 ==比较运算符。

关于c - 如何检查变量是否等于单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565232/

相关文章:

java - 打印字符串?

Python 像 GitHub 一样比较两个多行字符串

regex - Perl - 如何匹配不完全相同的字符串?

C 字符 ** 导致内存泄漏

c - 使用 C 中的 POW 函数反转五位数字

c - 套接字返回 'No such file or directory"

python - 搜索和替换句子中给定单词的最有效代码?

c - 传递参数列表

c - 如何在 C 函数中传递二维数组(矩阵)?

string - 液体字符串中的转义字符