JavaScript is required

 Kết quả in ra màn hình của chương trình sau:

#include

Void main ()

{

Char *s;

S= "chao cac ban"; strcpy (&s[5], &s[9] ) ;

Printf ( "%s", s) ;

};

A.

"chao".

B.

"chao cac".

C.

"chao ban".

D.

"chao cac ban".

Trả lời:

Đáp án đúng: C


Chương trình C này thực hiện thao tác sao chép chuỗi (string copy) bằng hàm `strcpy`. Ban đầu, `s` trỏ đến chuỗi "chao cac ban". Lệnh `strcpy (&s[5], &s[9])` sẽ sao chép nội dung của chuỗi bắt đầu từ vị trí thứ 9 (ký tự 'b') vào vị trí thứ 5 (ký tự ' '). Do đó, chuỗi gốc bị thay đổi. Ta cùng phân tích chi tiết: - Chuỗi ban đầu: "chao cac ban" - `&s[5]` trỏ đến vị trí ký tự ' ' (khoảng trắng) sau "chao". - `&s[9]` trỏ đến vị trí ký tự 'b' trong "ban". - `strcpy (&s[5], &s[9])` sẽ sao chép "ban" (và ký tự null kết thúc chuỗi) vào vị trí bắt đầu từ `&s[5]`. Kết quả là chuỗi trở thành "chao ban". Vì vậy, khi in ra bằng `printf("%s", s)`, kết quả sẽ là "chao ban".

Câu hỏi liên quan