### 3.7 `isprint`, `isgraph`—printable character predicates

Synopsis

         #include <ctype.h>
         int isprint(int c);
         int isgraph(int c);

Description
`isprint` is a macro which classifies ASCII integer values by table lookup. It is a predicate returning non-zero for printable characters, and 0 for other character arguments. It is defined only if c is representable as an unsigned char or if c is EOF.

You can use a compiled subroutine instead of the macro definition by undefining either macro using ``#undef isprint`' or ``#undef isgraph`'.

Returns
`isprint` returns non-zero if c is a printing character, (`0x20`–`0x7E`). `isgraph` behaves identically to `isprint`, except that the space character (`0x20`) is excluded.

Portability
`isprint` and `isgraph` are ANSI C.

No supporting OS subroutines are required.