JavaScript is required

Có các khai báo sau:

char tb, mang[15]

Trong các câu lệnh sau, câu nào đúng:

A.

tb = "chào bạn";

B.

gets(mang);

C.

mang = "chaoban";

D.
gets(tb);
Trả lời:

Đáp án đúng: B


Phân tích câu hỏi:

Câu hỏi kiểm tra kiến thức về khai báo và sử dụng biến kiểu char và mảng char (chuỗi) trong C/C++.

Đánh giá các phương án:

  • A. tb = "chào bạn";: Sai. tb là một biến kiểu char, chỉ có thể lưu trữ một ký tự duy nhất. "chào bạn" là một chuỗi (mảng các ký tự), không thể gán trực tiếp cho một biến char.
  • B. gets(mang);: Đúng. mang là một mảng char (chuỗi), và hàm gets() được dùng để đọc một chuỗi từ đầu vào chuẩn (stdin) và lưu vào mảng mang. Tuy nhiên, hàm gets không an toàn và không nên sử dụng. Thay vào đó, nên sử dụng fgets để tránh tràn bộ đệm.
  • C. mang = "chaoban";: Sai. Trong C/C++, không thể gán trực tiếp một chuỗi ký tự cho một mảng ký tự bằng toán tử =. Cần sử dụng hàm strcpy() để sao chép chuỗi.
  • D. gets(tb);: Sai. Hàm gets() dùng để đọc một chuỗi vào một mảng char, không phải vào một biến char đơn lẻ.

Kết luận:

Phương án B là phương án đúng nhất, mặc dù việc sử dụng hàm gets không được khuyến khích trong thực tế.

Câu hỏi liên quan