JavaScript is required

Hàm scanf(“%[^\n]”,str); tương với lệnh nào sau đây

A.
getch();
B.
getche();
C.
macro getchar();
D.
gets(str);
Trả lời:

Đáp án đúng: D


Hàm `scanf("%[^\n]", str);` đọc một chuỗi ký tự từ đầu vào chuẩn cho đến khi gặp ký tự newline (`\n`). Điều này tương đương với hàm `gets(str);` vốn cũng đọc một dòng từ đầu vào chuẩn. Tuy nhiên, cần lưu ý rằng hàm `gets()` không an toàn vì nó không kiểm tra kích thước của bộ đệm, dẫn đến nguy cơ tràn bộ đệm. Trong khi đó, `%[^\n]` trong `scanf` có thể được sử dụng với chỉ định kích thước để tránh tràn bộ đệm, ví dụ: `scanf("%99[^\n]", str);` sẽ chỉ đọc tối đa 99 ký tự vào `str`. * **A. getch();**: Hàm này đọc một ký tự từ bàn phím mà không hiển thị ký tự đó trên màn hình. * **B. getche();**: Hàm này đọc một ký tự từ bàn phím và hiển thị ký tự đó trên màn hình. * **C. macro getchar();**: Macro này đọc một ký tự từ đầu vào chuẩn (thường là bàn phím). * **D. gets(str);**: Hàm này đọc một dòng từ đầu vào chuẩn và lưu vào chuỗi `str`.

Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan