To find if a character is a delimiter
There's no particular ordering of characters' code-points in C (other than the digits 0..9).  This code assumes (for example) that '[' is less than '`', but that's not the case in EBCDIC at least.

I think you might be better off creating a table of boolean values, and indexing into that with the (unsigned value of) ch, in the way that standard &lt;ctype.h&gt; functions are normally implemented.  This will probably improve performance (one lookup, rather than up to 11 comparisons, per call).

Alternatively, and depending on what characters are considered "delimiters", you may be able to use standard library functions (e.g. isalnum()) in combination.