More detail about expression and statement
@@ -40,5 +40,8 @@ fn square(num: i32) -> i32 {
// This is a really common error that can be fixed by removing one character.
// It happens because Rust distinguishes between expressions and statements: expressions return
-// a value and statements don't. We want to return a value from the `square` function, but it
-// isn't returning one right now...
+// a value based on its operand and statements simply retun a `()` type which just like `void` in C/C++ language.
+// We want to return a value of `i32` type from the `square` function, but it is returning a `()` type...
+// They are not the same. There are two solusions:
+// 1. Add a `return` ahead of `num * num;`
+// 2. remove `;`, make it to be `num * num`
