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 sử dụng `scanf` để đọc một số nguyên và một ký tự từ đầu vào. Định dạng `%d` trong `scanf` sẽ đọc một chuỗi các chữ số liên tiếp và chuyển đổi nó thành một số nguyên. Khi gặp ký tự 'h' không phải là số, `scanf` sẽ dừng đọc số nguyên và gán giá trị số nguyên đọc được (29) cho biến `n`. Định dạng `%c` sẽ đọc ký tự tiếp theo trong luồng đầu vào (là 'h') và gán nó cho biến `c`. Sau đó, chương trình sử dụng `printf` để in giá trị của `n` (với độ rộng tối thiểu là 3) và ký tự `c`. Vì vậy, `n` sẽ là 29 và `c` sẽ là 'h'. Kết quả in ra sẽ là " 29h".