Menu
CoddyTech

返回值

本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 51 课,共 75 课。

方法中的 return 语句用于指定该方法应作为输出生成的一个或多个值。例如,以下方法会输出 100:

fn function_name() -> i32 {
	return 100;
}

注意,这个函数返回的是 i32 类型的数据,因为有箭头符号 ->。

要将返回值赋给变量,请这样写:

let number: i32 = function_name();

现在,number 变量将保存 100,因为这是该方法返回的值。

注意,方法的返回类型(本例中为 i32)必须与用于存储返回值的变量的数据类型匹配。

challenge icon

挑战

简单

每个测试用例有 3 个输入。

第一个输入表示要迭代多少次,最后两个输入是要对其进行操作的数字。

创建一个接收两个参数并返回较大的那个数字的方法。如果两个数字相等,则返回其中一个。

迭代 iterations 次,并在每次迭代中执行以下操作:

  • 使用 num1 和 num2 调用该方法,并将结果保存到一个变量中。
  • 将两个数字中较大的那个除以 2,然后用新的结果值替换原来较大的变量。
  • 打印新值。  
  • 继续执行,直到程序迭代了 iterations 次,或者其中一个数字小于 2。

注意,你已经有了代码框架!

亲手试试

use std::io;

fn bigger(arg1: f64, arg2: f64) -> f64 {
    // 补全这个函数

}

fn main() {
    let mut input_iter = String::new();
    let mut input_num1 = String::new();
    let mut input_num2 = String::new();

    io::stdin().read_line(&mut input_iter).unwrap();
    io::stdin().read_line(&mut input_num1).unwrap();
    io::stdin().read_line(&mut input_num2).unwrap();

    let iter: i32 = input_iter.trim().parse().unwrap();
    let mut num1: f64 = input_num1.trim().parse().unwrap();
    let mut num2: f64 = input_num2.trim().parse().unwrap();

    for _ in 0..iter {
        // 在下方编写你的代码
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Rust 在线编译器