
Баг: Форматная строка не соответствует вводу
// ❌ Пользователь вводит не как в формате
var name string
var age int
fmt.Scanf("%s %d", &name, &age)
// Пользователь ввел: "25 John" (поменял местами)
// Результат: name = "25", age = 0 (ошибка конвертации)
// ❌ Ввели "John,Doe" а ожидаем пробел
fmt.Scanf("%s %s", &first, &last)
// Ввод: "John,Doe" → first = "John,Doe", last = не тронут
// ✅ Либо документируй формат, либо парси вручную
fmt.Print("Введите 'имя возраст': ")
fmt.Scanf("%s %d", &name, &age)
// Или используй Scan для гибкости
fmt.Scan(&name, &age) // любые пробельные разделителиScanf - строгая функция. Если пользователь ошибся с форматом (а они постоянно ошибаются), программа либо читает мусор, либо вообще не читает вторую переменную.
Загрузка...