Если вы не пишете программу для домашнего задания, и, в частности, если вы пишете программу, с которой реальный пользователь будет взаимодействовать любым серьезным образом, не используйте scanf () ,Работайте на строках ввода одновременно.Если вы по-прежнему хотите использовать функцию синтаксического анализа функции scanf (), вы можете использовать sscanf () и т. Д. Для всей строки ввода после ее получения.Если вы не знаете, как получить пользовательский ввод, кроме как через scanf (), простой способ - это fgets () в буфер, выделить строку и подготовить буфер для следующих fgets ().
Если вы настаиваете на использовании scanf (), у меня для вас есть проблема: использовать его, чтобы принять два идентификатора в одной строке, разделенные пробелом.Если пользователь вводит только один идентификатор, а затем нажимает клавишу ввода, ваша программа должна пожаловаться на это пользователю, прежде чем запрашивать дополнительные данные.