Untitled
unknown
plain_text
a year ago
627 B
14
Indexable
use std::mem::size_of_val;
fn factorial_show_stack(n: u64) -> u128 {
// This variable lives on the stack
let local_n = n;
println!(
"Value: {local_n}, Memory Address: {:p}, Size: {}",
&local_n,
size_of_val(&local_n)
);
if n <= 1 {
1
} else {
(n as u128) * factorial_show_stack(n - 1)
}
}
fn main() {
let n = 5;
println!("Calculating factorial({n})");
let result = factorial_show_stack(n);
println!("Factorial result: {result}");
// Optional: Uncomment to (likely) cause a stack overflow
// let _ = factorial_show_stack(100_000);
}Editor is loading...
Leave a Comment