我有这个代码。我希望当用户写入是时,程序将打印正常。 但是,程序会写
“是的是未宣布的”。
如何让程序将'yes'
视为单词而不是变量?
char a = ' ';
scanf("%c",&a);
if(a == yes)
{
printf("OK");
}
答案 0 :(得分:2)
首先,'yes'
不 word ( sting,如果你的意思是),{{1}是的。
那就是说,你已经离开联盟了。一个可能的实现可能看起来像
"yes"
;因为您需要根据需要存储多个字符。 (此处使用的尺寸仅供参考)。char a[12] = "no"
扫描用户输入,例如scanf()
; scanf("%11s", a)
中的strcmp()
进行比较,例如string.h
。另一种可能的实现可以使用if (!strcmp(a, "yes"))
enum
和"YES"
,将用户选择作为整数并使用良好的旧"no"
比较运算符。
答案 1 :(得分:1)
您的代码中存在许多问题。
首先,您将==
声明为a
(字符),这意味着您无法将其与"是"进行比较。因为这是一个字符串,或char
数组,因为这是C。
它由4个字符组成(3为文本,1为char
;在C"字符串"为空终止,因此必须有结束字符)
声明你的变量并按如下方式阅读:
\0