【发布时间】:2021-09-21 18:04:08
【问题描述】:
该程序的目标是根据用户如何将它们放在一起扫描一系列 X、1、2,然后显示他放入了多少 X。
由于某种原因,在我放了 8 X/1/2 之后(按 ENTER 8 次,因为我一个一个放了它们) 无论我如何输入数字,它都会显示数字 15。
我的问题是,当 for 设置为 i=1; i<=TOTOSIZE; i++ 时,为什么它会在 8 个 ENTER 后停止
TOTOSIZE = 15
为什么它总是显示数字 15 而不是它应该做的。
#include <stdio.h>
#define TOTOSIZE 15
int main()
{
int d = 0, i;
char score;
for (i = 1; i <= TOTOSIZE; i++)
{
scanf_s("%c", &score);
if (score == 'X');
{
d++;
}
_flushall();
}
printf("%d", d);
return 0;
}
【问题讨论】:
-
这能回答你的问题吗? scanf("%c") call seems to be skipped