Trong C, bạn có các cờ "%c"
và "%f"
định dạng cho các chức năng giống như printf
- và scanf
. Cả hai hàm này sử dụng đối số độ dài biến đổi ...
, luôn chuyển đổi floats
thành doubles
và chars
thành ints
.Tại sao `"% c "` tồn tại trong `printf` nếu` char` được chuyển thành `int`?
Câu hỏi của tôi là, nếu chuyển đổi này xảy ra, tại sao các cờ riêng biệt cho char
và float
tồn tại? Tại sao không chỉ sử dụng các cờ giống như đối với int
và double
?
câu hỏi liên quan:
Why does scanf() need "%lf" for doubles, when printf() is okay with just "%f"?
Ồ .. hiển nhiên. Còn về 'float' thì sao? –
@PaulManta: Cờ định dạng '% f' mong đợi đối số' double'. –