Bài tập C: Sao chép chuỗi
Đề bài: Viết chương trình C để sao chép chuỗi.
Cũng giống như sao chép mảng trong C, bạn sử dụng vòng lặp để duyệt qua từng ký tự trong chuỗi, sau đó sao chép vào trong chuỗi đích (chuỗi s2 chẳng hạn). Bạn cần lưu ý là chuỗi đích phải có độ dài bằng chuỗi ban đầu (chuỗi s1).
Lời giải (không sử dụng hàm)
Dưới đây là chương trình C để giải bài tập sao chép chuỗi trong C:
#include <stdio.h> int main() { char s1[] = "kienthuclaptrinh.net"; // khai bao mot chuoi char s2[10]; // bien de luu chuoi sao chep int length = 0; // sao chep chuoi s1 while(s1[length] != '\0') { s2[length] = s1[length]; length++; } s2[length] = '\0'; // gia tri null, ket thuc chuoi printf("Chuoi s1 = %s \n", s1); printf("Chuoi s2 = %s \n", s2); return 0; }
Chạy chương trình C trên cho kết quả như sau:
Lời giải (sử dụng hàm)
Bạn có thể sao chép nội dung từ chuỗi này sang chuỗi khác bởi sử dụng hàm strcpy(str2, str1) trong C. Hàm strcpy(str2, str1) nhận hai chuỗi làm tham số, trong đó: chuỗi str1 là chuỗi ban đầu, chuỗi str2 là chuỗi có nội dung sao chép từ chuỗi str1.
Dưới đây là chương trình C sử dụng hàm để giải bài tập sao chép chuỗi trong C:
#include<stdio.h> #include<string.h> int main() { char str1[100]; char str2[100]; printf("Nhap chuoi str1: "); gets(str1); strcpy(str2, str1); printf("\nChuoi sao chep la: %s", str2); return (0); }
Chạy chương trình C trên cho kết quả như sau: