【发布时间】:2016-01-22 23:45:50
【问题描述】:
为什么代码偶数次直接获取空数据?我不知道发生了什么。 非常感谢。
#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 = 无效运算符"
-
其他说明:1) 使用
int main(void)2)ch应该是int。