Chương trình:
#include
Void main ()
{
Char c;
Int n;
Scanf ( "%d%c", &n, &C) ;
Printf ( "%3d%c", n, C) ;
};
Giả sử khi chạy chương trình ta gõ từ bản phím: "29h b".
Kết quả in ra n và c tương ứng sẽ là:
Trả lời:
Đáp án đúng: C
Chương trình C này đọc một số nguyên và một ký tự từ đầu vào. Định dạng "%d%c" trong `scanf` sẽ đọc một số nguyên và sau đó đọc ký tự tiếp theo, bất kể nó là gì (kể cả dấu cách hoặc ký tự đặc biệt).
Trong trường hợp đầu vào là "29h b", `scanf` sẽ đọc "29" vào biến `n` (kiểu int), và đọc ký tự 'h' vào biến `c` (kiểu char). Sau đó, `printf` với định dạng "%3d%c" sẽ in giá trị của `n` (với độ rộng tối thiểu là 3) và ký tự `c`.
Vì `n` là 29, nên nó sẽ được in là " 29" (có một khoảng trắng ở đầu để đảm bảo độ rộng là 3). Ký tự `c` là 'h', nên nó sẽ được in trực tiếp.
Do đó, đầu ra sẽ là " 29h". Vì không có đáp án nào trùng khớp hoàn toàn, đáp án đúng là D.