scanf(), но произвольный порядок типов данных

#c #stack

#c #стек

Вопрос:

Я создаю программу, которая вычисляет постфиксное выражение, например 12 2 3 * , означает (12 2)*3 = 42 . Я хочу, чтобы push числа в стеке и pop выводили два числа, если входные данные не являются числом. Но я не могу понять, как проверить, является ли ввод целым числом или символом. Я пробовал

 char x;
scanf("%c", amp;x);
  

и используйте isdigit() , чтобы проверить, является ли это цифрой, но проблема в том, что число содержит более одной цифры. Как я могу это решить?