0

在下面的代码中,为什么 和 的ch2ch3等于-1

char ch1;
char ch2;
char ch3;
printf("put Type: ");
ch1 = getchar();
_flushall();
printf("put Type: ");
ch2 = getchar();
_flushall();
printf("put Type: ");
ch3 = getchar();
printf("\n");
printf("the ascii value for this three types is: %d, %d, %d", ch1, ch2, ch3);
4

1 回答 1

3

如果getchar遇到错误,则返回EOF(这是一个扩展为int负值的宏,通常为“-1”)。这解释了为什么您会看到-1.

至于为什么 getchar失败,这是一个单独的问题。通常它意味着它已经到达输入流的末尾。我认为这与您正在冲洗它有关_flushall吗?

于 2013-11-04T12:54:00.363 回答