Đầu ra là gì? #include
Trả lời:
Đáp án đúng: C
Trong C, kiểu `char` thường là kiểu số nguyên có dấu với kích thước 1 byte (8 bits). Do đó, phạm vi giá trị của `char` thường là từ -128 đến 127. Trong đoạn code, biến `c` được khởi tạo với giá trị 125. Sau đó, 10 được cộng vào `c`, kết quả là 135. Vì 135 vượt quá phạm vi tối đa (127) của kiểu `char`, xảy ra hiện tượng tràn số (overflow).
Để hiểu rõ hơn, ta có thể xem xét cách biểu diễn nhị phân của 125:
01111101 (125 trong hệ nhị phân)
Khi cộng thêm 10:
125 + 10 = 135
Tuy nhiên, vì `char` là kiểu số nguyên 8-bit có dấu, giá trị sẽ "quấn" quanh về phía âm khi vượt quá 127. Giá trị lớn nhất là 127 (01111111). Khi cộng thêm 1, nó sẽ trở thành -128 (10000000).
Vậy, 135 sẽ được tính như sau:
135 - 256 = -121
Vì vậy, giá trị cuối cùng của `c` sẽ là -121.
Do đó, đáp án đúng là C. -121





