Checking String with is_numeric in C
regarding:
if (!isdigit(*str) &amp;&amp; !isspace(*str))

the isdigit() handles 0...9, so catches if any of the passed in char array is not numeric.
The &amp;&amp; !isspace(*str))  has nothing to do with numeric values