Giải thích giá trị trả về của sizeof()

Em chỉ có 1 đoạn code đơn giản thui là bài test của em thi. Em không hiểu nổi tại sau nó ra như vậy.

printf("%d, %d", sizeof('a'), sizeof(100));

kết quả màn hình là 4, 4 ? tại sau vậy em vẫn chưa giải thích đc!

Nó hiển thị đúng những gì nó biết thôi, có lẽ ‘a’ tương đương 4 byte, số 100 sẽ hiểu là kiểu int 4 byte, cuối cùng thì vẫn sẽ phụ thuộc vào nền tảng hệ thống.

nhưng cho em hỏi tại sau 100 không thể là short hay là long ?

tại vì mặc định nếu không khai báo thì cứ nguyên là int, trừ khi to quá thì nó thành long.

ok thank you bạn rất nhiều!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?