我有这个代码。我希望当用户写 yes 时程序会打印 OK。 然而,程序写的是
"yes is undeclared".
如何让程序将 'yes'
视为单词而不是变量?
char a = ' ';
scanf("%c",&a);
if(a == yes)
{
printf("OK");
}
最佳答案
首先,'yes'
是不是一个单词(刺痛,如果你是这个意思),"yes"
是。
也就是说,你根本不适合这个想法。一种可能的实现如下所示
- 首先,您需要为输入定义一个数组,例如
char a[12] = "no"
;因为您需要根据需要存储多个字符。 (此处使用的尺寸仅供引用)。 - 使用
scanf()
扫描用户输入,例如scanf("%11s", a)
; - 使用
strcmp()
来自string.h
,作为比较,例如if (!strcmp(a, "yes"))
.
另一种可能的实现可以利用 enum
的"YES"
和"no"
,将用户选择作为整数并利用旧的 ==
比较运算符。
关于c - 如何检查变量是否等于单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565232/