在这个基本的 Rust 程序中,一个函数计算一个整数的绝对值,而 main() 帮助完成一个带有结果的语句:
fn main() {
let value = abs(-4);
println!("{}.", value);
}
fn abs(x: i32) -> i32 {
print!("The abs value of {} is ", x);
if x > 0 {
return x;
} else {
-x
}
}
有没有办法将整个语句“...的绝对值是...”正确打印到 abs() 函数中?我尝试使用
失败println!("The abs value of {} is {} ", x, x);
这总是打印 x 参数的值(例如 -4、-4),所以它是不正确的。
与
println!("The abs value of {} is {} ", x, abs(x));
但在这里,出于某种原因,Rust 对递归不满意,在编译时发出警告,然后不运行程序。
最佳答案
绝对值法为already defined ;你不需要自己实现它
fn main() {
let value = abs(-4);
println!("{}.", value);
}
fn abs(x: i32) -> i32 {
let val = x.abs();
println!("The abs value of {} is {}", x, val);
val
}
关于function - Rust 中的绝对值函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45902734/