30/09/2018, 19:56
Đố vui về C/C++
Chọn kết quả in ra cho đoạn code dưới đây:
#include <iostream>
using namespace std;
int main() {
if(sizeof(int) > -1) {
cout << "True" << endl;
}
else {
cout << "False" << endl;
}
return 0;
}
- True
- False
0 voters
Bài liên quan
À quên, mọi người chọn xong thì vào xem đáp án tại đây.
Ideone.com
Ideone.com
Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.
e chọn đúng rồi
tại sao lại như vậy ad
nó ghi ở dưới input is empty kìa bạn
Vì sizeof là hàm trả về giá trị kiểu unsigned int, mà unsigned int thì không có giá trị âm.
sizeof(int) = 4; (100 trong nhị phân)
còn -1 khi chuyển về nhị phân thì toàn là số 1
Thế nên -1 > 4 (nhị phân)
Muốn kết quả trả về đúng thì nên ép kiểu
Em nghĩ đơn giản lắm, sizeof(int) biến int gì đó chưa khai báo, mà theo em nhớ thì cứ lỗi là hàm trả về giá trị -1 nên không thể nào > -1 được. Nên false
Bạn thử
xem nó ra cái gì