em mới học về chuỗi mọi người cho em hỏi là cái đoạn code này nó nghĩa là như thế nào ạ em cảm ơn ạ
while(c!=NULL)
{ int t=strlen(s)-strlen(c);
for(int i=t;i<strlen(s);i++)
s[i]=s[i+1]; c=strstr(s," ");
}
em mới học về chuỗi mọi người cho em hỏi là cái đoạn code này nó nghĩa là như thế nào ạ em cảm ơn ạ
while(c!=NULL)
{ int t=strlen(s)-strlen(c);
for(int i=t;i<strlen(s);i++)
s[i]=s[i+1]; c=strstr(s," ");
}
À, nghĩa nó là Xóa khoảng trắng dư (>=2) của chuỗi. Đó là tiêu đề của bạn mà.
Muốn giải thích phải không?
Ít nhất thì bạn cũng nên tìm hiểu chức năng từng hàm.
Giải thích cơ bản là vầy:
c=strstr(s," ");).s[i]=s[i+1]; (nhằm ghi đè lên khoảng trắng dư kia).while(c!=NULL) (chuẩn 1 dấu cách).dạ em cảm ơn anh cho em hỏi chút là dòng t=strlen(s)-strlen©;
có tác dụng gì vậy ạ
Có nghĩa là bắt đầu dịch các kí tự từ vị trí t của chuỗi. Vị trí đó chính là vị trí của cái khoảng trắng dư đấy.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?