Функция scanf()
сканирует ввод с консоли. Чтобы получать входные данные из консоли, вам нужно указать, какой тип входных данных вы хотите получить. Для значений int
мы используем спецификатор формата %d
, чтобы указать, что мы будем вводить значение int
в качестве нашего ввода.
Теперь отвечаем на ваш вопрос: как вы хотите прочитать входные данные из пользователь? Должен ли пользователь вводить только 3 4
или (3,4)
? Давайте обсудим каждый сценарий ios:
Здесь пользователь будет вводить 3 4
.
int cor1, cor2;
printf("Enter coordinates: ");
scanf("%d %d", &cor1, &cor2);
printf("%d %d", cor1, cor2);
Здесь пользователь будет вводить (3,4)
. Прежде чем вводить код, обратите внимание, что есть 3 избыточных значения char
: ( , )
. Нам нужно отбросить эти символы из нашего ввода. Как вы знаете, мы используем %c
для ввода значения char
с консоли. Чтобы отбросить эти избыточные символы, мы просто используем спецификатор формата %*c
.
int cor1, cor2, valueInput;
printf("Enter coordinates: ");
valueInput=scanf("%*c %d %*c %d %*c", &cor1, &cor2);
if(valueInput==2){
printf("%d %d", cor1, cor2);
}else{
printf("Failed to parse inputs");
}
Это позволит вам ввести (3,4)
и вывести 3 4
. Чтобы добавить дополнительную проверку, мы также проверяем значение return
scanf()
. Если вы не знакомы со значением return
, взгляните на: Здесь . Функция scanf()
возвращает количество успешных входов. В качестве дополнительной проверки мы также проверяем значение return
scanf()
. В первом случае я пропустил чек, чтобы вы не запутались. Для получения дополнительной информации посмотрите:
Спецификаторы формата: w3schools
Форматированный ввод / вывод: overiq