0
点赞
收藏
分享

微信扫一扫

rust 计算

Mhhao 03-16 21:30 阅读 2

计算

11. // 填空,并解决错误 fn main() {

// 整数加法

assert!(1u32 + 2 == __);

// 整数减法

assert!(1i32 - 2 == __); assert!(1u8 - 2 == -1);

assert!(3 * 50 == __);

assert!(9.6 / 3.2 == 3.0); // error ! 修改它让代码工作 assert!(24 % 5 == __);

// 逻辑与或非操作 assert!(true && false == __); assert!(true || false == __); assert!(!true == __);

// 位操作

println!("0011 AND 0101 is {:04b}", 0b0011u32 & 0b0101); println!("0011 OR 0101 is {:04b}", 0b0011u32 | 0b0101); println!("0011 XOR 0101 is {:04b}", 0b0011u32 ^ 0b0101); println!("1 << 5 is {}", 1u32 << 5);

println!("0x80 >> 2 is 0x{:x}", 0x80u32 >> 2);

} 你可以在这里找到答案(在 solutions 路径下) 🌟

字符、布尔、单元类型 字符

1.

 // 修改2处 `assert_eq!` 让代码工作

use std::mem::size_of_val;

fn main() {

   let c1 = 'a';

   assert_eq!(size_of_val(&c1),1);

let c2 = '中'; assert_eq!(size_of_val(&c2),3);

   println!("Success!")

}

2.

 // 修改一行让代码正常打印 fn main() {

let c1 = "中";

   print_char(c1);

}

fn print_char(c : char) {

   println!("{}", c);

}

🌟

🌟


布尔

3.

 // 使成功打印 fn main() {

   let _f: bool = false;

   let t = true;

   if !t {

       println!("Success!")

   }

}

4.

 fn main() {

   let f = true;

   let t = true && false;

   assert_eq!(t, f);

   println!("Success!")

}

单元类型

5.

🌟🌟

🌟

🌟


// 让代码工作,但不要修改 `implicitly_ret_unit` ! fn main() {

   let _v: () = ();

   let v = (2, 3);

   assert_eq!(v, implicitly_ret_unit());

   println!("Success!")

}

fn implicitly_ret_unit() {

   println!("I will return a ()")

}

// 不要使用下面的函数,它只用于演示! fn explicitly_ret_unit() -> () {

   println!("I will return a ()")

}

6. 单元类型占用的内存大小是多少? // 让代码工作:修改 `assert!` 中的 `4` use std::mem::size_of_val;

fn main() {

   let unit: () = ();

   assert!(size_of_val(&unit) == 4);

   println!("Success!")

} 你可以在这里找到答案(在 solutions 路径下)

举报

相关推荐

0 条评论