tôi đã cố gắngTrong C, tại sao sizeof (char) 1, khi 'a' là int?
printf("%d, %d\n", sizeof(char), sizeof('c'));
và có 1, 4 như đầu ra. Nếu kích thước của một ký tự là một, tại sao 'c'
cho tôi 4? Tôi đoán đó là vì nó là một số nguyên. Vì vậy, khi tôi làm char ch = 'c';
là có một chuyển đổi tiềm ẩn xảy ra, dưới mui xe, từ đó giá trị 4 byte đến một giá trị 1 byte khi nó được gán cho biến char?
Tôi tin rằng nó liên quan đến việc thúc đẩy số nguyên tự động, người có nhiều sự kiện hơn niềm tin sẽ đăng câu trả lời thực tế –
@Roger: Anh ấy hỏi về sự khác biệt giữa C và C++ sizeof ('a'), trong khi tôi hỏi nếu có một chuyển đổi xảy ra? Xem phần thân câu hỏi. Tôi đã suy luận rằng 'a' là một số nguyên trong C. – legends2k
Tôi phải cảm ơn "David Rodríguez - dribeas" để chỉ ra liên kết trong câu trả lời của tôi là không chính xác. Tôi đang xóa câu trả lời của mình. legends2k, câu trả lời đúng nên đi đến Peter hoặc Neil, theo ý kiến khiêm nhường của tôi. –