I have the following code: sscanf(line, "%d", n_ptr) !=1 || n_ptr <=0; It only partially works. If the user types a character other than 0-9 to start the string it fails. However as long as the first character is an integer it will allow letters in the following places for Example: H78 (fails as expected) 78 (works as expected) 7H8 ( ...