"The C Programming Language", 2nd edition, Kernighan and Ritchie

Answer to Exercise 1-6, page 17

Solution by Richard Heathfield

Verify that the expression getchar() != EOF is 0 or 1.


/* This program prompts for input, and then captures a character
 * from the keyboard. If EOF is signalled (typically through a
 * control-D or control-Z character, though not necessarily),
 * the program prints 0. Otherwise, it prints 1.
 *
 * If your input stream is buffered (and it probably is), then
 * you will need to press the ENTER key before the program will
 * respond.
 */

#include <stdio.h>

int main(void)
{
  printf("Press a key. ENTER would be nice :-)\n\n");
  printf("The expression getchar() != EOF evaluates to %d\n", getchar() != EOF);
  return 0;
}



Back to index





You are visitor number - call again soon!