---
name: "ispunct"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/ispunct"
---

# ispunct(3)

punctuation character test

## NAME

**ispunct** – punctuation character test

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<ctype.h\>**

*int*\

**ispunct**(*int c*);

## DESCRIPTION

The **ispunct**() function tests for any printing character, except for space (‘ ’) or a character for which [isalnum(3)](/isalnum/3.md) is true. The value of the argument must be representable as an *unsigned char* or the value of EOF.

In the ASCII character set, this includes the following characters (preceded by their numeric values, in octal):

| |
| --- |
| 041 \`\`!'' 042 \`\`"'' 043 \`\`#'' 044 \`\`$'' 045 \`\`%'' |
| 046 \`\`&'' 047 \`\`''' 050 \`\`('' 051 \`\`)'' 052 \`\`\*'' |
| 053 \`\`+'' 054 \`\`,'' 055 \`\`-'' 056 \`\`.'' 057 \`\`/'' |
| 072 \`\`:'' 073 \`\`;'' 074 \`\`\<'' 075 \`\`='' 076 \`\`\>'' |
| 077 \`\`?'' 100 \`\`@'' 133 \`\`\['' 134 \`\`\\'' 135 \`\`\]'' |
| 136 \`\`^'' 137 \`\`\_'' 140 \`\`\`'' 173 \`\`{'' 174 \`\`\|'' |
| 175 \`\`}'' 176 \`\`~'' |

## RETURN VALUES

The **ispunct**() function returns zero if the character tests false and returns non-zero if the character tests true.

## COMPATIBILITY

The 4.4BSD extension of accepting arguments outside of the range of the *unsigned char* type in locales with large character sets is considered obsolete and may not be supported in future releases. The **iswpunct**() function should be used instead.

## SEE ALSO

[ctype(3)](/ctype/3.md), [isalnum\_l(3)](/isalnum_l/3.md), [iswpunct(3)](/iswpunct/3.md), [ascii(7)](/ascii/7.md)

## STANDARDS

The **ispunct**() function conforms to ISO/IEC 9899:1990 (“ISO C90”).
