c - scanf 第一次不读取,但第二次读取
问题描述
执行此代码时,在编写选项的那一刻,它不会读取 int,直到我再次编写它(如您在图片中看到的那样)。
一些背景:在您选择字母“r”后打开此代码。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
void inicioUsuario() {
int op = 0;
printf("\n== BIENVENIDO ==\n");
printf("\n");
printf("1. Reservar plazas.\n");
printf("2. Mapa.\n");
printf("3. Reservas.\n");
printf("\n");
printf("INTRODUZCA LA OPCION: \n");
fflush(stdout);
scanf("%i", &op);
do {
switch (op) {
case 1:
printf("Numero 1");
break;
case 2:
break;
case 3:
break;
default:
printf("Número inválido, inserte uno nuevo.");
break;
}
} while (op >= 0 || op <= 3);
}
解决方案
尝试在 switch 语句之后添加 scanf("%i", &op) 以便您可以在 while 循环中更新 op 的值
推荐阅读
- select - 如何在 SOLR v.7.5 中查找重复单词的文档
- javascript - select2 在 Datatables 中的行为不正常
- python - 在 Pandas 数据框中一次更改一行
- c - 为什么必须将双指针参数声明为单指针并作为 &var 传递给函数?
- angular - 使用材料在角度 6 中调用 google 地方 API 的 CORS 问题
- xml - xml.unmarshal 不遍历 XML 树
- amazon-web-services - AWS Cloudwatch 警报触发 lambda
- python - Keras回归预测与输出维度不同
- amazon-cloudformation - 在 Cloudwatch 仪表板模板 (Cloudformation) 中使用伪变量
- gcc - 将本机节点模块编译到 Android 时无法链接库。使用 -fPIC 标志时出现 -fPIC 问题重新编译