-
n > 1 là so sánh luận lý, sẽ luôn có kết quả là true (1) hoặc false (0).
- Cho dù kiểu kiểu số được trả về thì vẫn đúng, vì kiểu bool trong C/C++ (và một số ngôn ngữ khác) tương đương với kiểu số: số bằng 0 là
false, số khác không là true.
Bản chất khi lưu trữ trong bộ nhớ thì giá trị false lưu thành số 0 và true sẽ lưu thành số 1.
#include <iostream>
bool f1(int n){
// phép toán so sánh luận lý, trả về true khi n lớn hơn 1.
return n > 1;
}
bool f2(int n){
// trả về số, tự quy đổi sang kiểu luận lý, trả về true khi n khác 0
return n;
}
int main(){
std::cout << f1(0) << std::endl;
std::cout << f2(12) << std::endl;
return 0;
}