### 3.8 `ispunct`—punctuation character predicate

Synopsis

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

Description
`ispunct` is a macro which classifies ASCII integer values by table lookup. It is a predicate returning non-zero for printable punctuation characters, and 0 for other characters. It is defined only when `isascii`(c) is true or c is EOF.

You can use a compiled subroutine instead of the macro definition by undefining the macro using ``#undef ispunct`'.

Returns
`ispunct` returns non-zero if c is a printable punctuation character (`isgraph(`c`) && !isalnum(`c`)`).

Portability
`ispunct` is ANSI C.

No supporting OS subroutines are required.