c - 无法调试我的简单 C 程序以获取 y/n 输入
问题描述
我试图编写一个简单的函数来提示给定问题的 ay/n 输入。
#include <stdio.h>
int getChoice(char*);
int main()
{
int a = getChoice("yes?");
printf("%d\n",a);
return 0;
}
int getChoice(char* msg) {
char choice;
printf("%s\n", msg);
scanf("%c", &choice);
while (choice != 'y' && choice != 'n') {
printf("Please enter only y or n.\n");
scanf("%c", &choice);
}
return choice == 'y';
}
如果我输入 y 或 n,它会按预期运行,但如果我输入另一个字母,它将重复“请仅输入 y 或 n。”的行。我真的不能在我的逻辑出错的地方锻炼。
解决方案
推荐阅读
- python - 正则表达式模式查找最多包含 3 个字母数字字符的所有字符串
- jquery - jQuery Accordion 仅以奇数顺序工作
- java - Chromedriver.exe 被视为来自 IntelliJ 的文件
- javascript - tilda + ajax (post) 或 XMLHttpRequest mobile 不发送
- qt - qmake 中的 host_build 是什么?
- node.js - 当我发送删除请求时,它返回“成功删除”虽然当我检查我的数据库时该项目仍然存在?
- laravel - 在带有 Tailwind CSS 的 Laravel 8 中,如何定义覆盖 app.css 的 backend.css?
- c# - 为什么 DataContractSerializer.ReadObject 在 NamedPipeClientStream 上失败/挂起?
- database - 如何对表征多个独立实体的特征实体进行建模
- docker - 是什么导致 docker 容器中供应商目录中的文件更新?