Anh (Chị) hãy cho biết đoạn lệnh sau thực hiện công việc gì?
char* ReChar (char* str) { int len = strlen (str);
char* ketqua = new char[len+1]
for (int i = 0; i< len; i++)
ketqua[i] = str[len-i-1]
ketqua[len] ='\0'; return ketqua;
}
int main() {
char *p = 178892”; cout << ReChar (p) << endl; return 0;
}
Trả lời:
Đáp án đúng: B
Đoạn code trên thực hiện đảo ngược một chuỗi ký tự. Hàm `ReChar` nhận một chuỗi `str` làm tham số, sau đó tạo một chuỗi mới `ketqua` có độ dài bằng với chuỗi `str`. Vòng lặp `for` duyệt qua từng ký tự của `str` và gán ký tự ở vị trí `len-i-1` của `str` (tức là ký tự từ cuối chuỗi trở về đầu) vào vị trí `i` của `ketqua`. Cuối cùng, ký tự '\0' được thêm vào cuối `ketqua` để đánh dấu kết thúc chuỗi, và `ketqua` được trả về. Đoạn code `main` gọi hàm `ReChar` với chuỗi "178892" và in kết quả ra màn hình.