Cân nhắc C++ mã bên dưới:Tổng giá trị bool trong C/C++
bool a = 5;
bool b = 6;
int c = (int)a + (int)b;
Khi tôi biên dịch & chạy mã này, c có giá trị 2. Liệu các bảo đảm tiêu chuẩn, trong bất kỳ trình biên dịch/nền tảng, bool giá trị được khởi tạo bằng false (0) hoặc true (không nhất thiết 1) sẽ là 1 trong hoạt động và mã ở trên sẽ luôn dẫn đến c là 2?
Và trong C99, bao gồm stdbool.h, vẫn còn hợp lệ?
tôi đoán bạn câu trả lời là ở đây: http://stackoverflow.com/questions/2725044/can-i-assume-booltrue-int1-for-any-c-compiler –
IMO, nếu bạn gán một cái gì đó khác hơn true/false cho một biến bool nó nên được xem xét lại mã cho bạn. – Max
Tôi chỉ có một từ: TẠI SAO? –