为什么代码直接在偶数时间获取空数据?我不知道发生了什么事。 非常感谢。for循环和getchar()在C
#include <stdio.h>
#pragma warning(disable : 4996)
void main() {
int f, a = 10, b = 20;
for (int i = 0; i < 5; i++)
{
char ch;
ch = getchar();
printf("ch = %c\n", ch);
switch (ch)
{
case '+': f = a + b; printf("f = %d\n", f); break;
case '−': f = a - b; printf("f = %d\n", f); break;
case '*': f = a * b; printf("f = %d\n", f); break;
case '/': f = a/b; printf("f = %d\n", f); break;
default: printf("invalid operator\n");
}
}
}
如果我输入一个运营商,它循环两次。第二次是空的输入。
请详细说明什么不工作,以及预期的结果是什么 –
每次输入任何操作员时,都会显示以下信息。 “ch = invalid operator” –
其他注意事项:1)使用'int main(void)'2)'ch'应该是一个'int'。 –