爲什麼代碼直接在偶數時間獲取空數據?我不知道發生了什麼事。 非常感謝。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'。 –