Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm C hoán đổi chuỗi (Swap strings)

Dưới đây là ví dụ hoán đổi nội dung hai chuỗi ký tự trong C:

Ví dụ

#include <stdio.h>
#include <string.h>

int main() {
    char st1[] = "My 1st string";
    char st2[] = "My 2nd string";
    char swap;
    int i = 0;
    
    while (st1[i] != '\0') {
        swap = st1[i];
        st1[i] = st2[i];
        st2[i] = swap;
        i++;
    }
    
    printf("Sau hoan doi s1: %s\n", st1);
    printf("Sau hoan doi s2: %s\n", st2);
    return 0;
}

Kết quả

Sau hoan doi s1: My 2nd string
Sau hoan doi s2: My 1st string

Giải thích: Hai mảng st1, st2 cùng kích thước. Vòng lặp duyệt qua từng ký tự cho đến hết chuỗi st1 (gặp \0), hoán đổi ký tự tương ứng.

Lưu ý: Cách này chỉ hoạt động nếu hai chuỗi cùng độ dài (hoặc chuỗi đích đủ lớn). Nếu độ dài khác nhau, cần xử lý riêng (ví dụ: dùng strcpy vào buffer tạm, hoặc cấp phát động). Trong C++, hãy dùng std::swap(str1, str2) cho std::string – an toàn và hiệu quả.