Вам не хватает тестовых случаев, которые могли бы найти источник проблемы. Разделите код на функцию и замените read!()
-macro на контрольный пример, который вы сейчас можете добавить в main, где вы предоставляете различные строки для функции и наблюдаете за выводом.
fn strspilit(s:String){
let mut i:usize = 0;
for token in s.split_whitespace() {
println!("token {} {}", i, token);
i+=1;
}
}
fn main() {
println!("Hello, world!");
strspilit("Hello Huge World".to_string());
}
Тогда вы увидите, что ваш код работает как надо , но, как видно из других ответов макрос read! () Возвращает строку только до первого пробела, поэтому вам, вероятно, следует использовать другой способ чтения ввода. .