【发布时间】:2025-12-18 21:25:03
【问题描述】:
我尝试强制用户仅在 R 、 C 或 T 之间进行选择。但我发表了声明,它不断要求我重新输入一个输入,因为它试图说给定的字母不是其中之一。另外为了验证我试图打印你好,但它没有被打印,这意味着软件仍然停留在 do while 语句。有什么帮助吗? 我的代码:
#include <stdio.h>
int main()
{
char a;
do
{
printf ("Choisit parmis R , C ou T\n");
scanf("%c", &a);
} while (!((a == "R") ||(a == "T") ||(a == "C") ));
printf("hey");
return 0;
}
【问题讨论】:
-
启用编译器警告。他们会告诉你这里出了什么问题。
-
附带说明:在不检查返回值的情况下使用
scanf是不安全的。有关详细信息,请参阅此页面:A beginners' guide away from scanf() -
@bolov 很抱歉我没有发布它们,从上面的答案中,我将字符串与不正确的字符进行比较。
标签: c loops char scanf do-while