c语言

c语言怎么实现字符串调换

小亿
273
2024-01-06 00:35:33
栏目: 编程语言

在C语言中,可以通过使用临时变量或者异或运算来实现字符串的调换。

方法一:使用临时变量

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

void swapStrings(char* a, char* b) {
    char temp[100];
    strcpy(temp, a);
    strcpy(a, b);
    strcpy(b, temp);
}

int main() {
    char str1[100] = "Hello";
    char str2[100] = "World";
    
    printf("Before swap: str1 = %s, str2 = %s\n", str1, str2);
    swapStrings(str1, str2);
    printf("After swap: str1 = %s, str2 = %s\n", str1, str2);
    
    return 0;
}

方法二:使用异或运算

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

void swapStrings(char* a, char* b) {
    int length = strlen(a);
    
    for (int i = 0; i < length; i++) {
        a[i] = a[i] ^ b[i];
        b[i] = a[i] ^ b[i];
        a[i] = a[i] ^ b[i];
    }
}

int main() {
    char str1[100] = "Hello";
    char str2[100] = "World";
    
    printf("Before swap: str1 = %s, str2 = %s\n", str1, str2);
    swapStrings(str1, str2);
    printf("After swap: str1 = %s, str2 = %s\n", str1, str2);
    
    return 0;
}

以上两种方法都可以实现字符串的调换,你可以根据自己的需求选择其中一种方法。

0
看了该问题的人还看了