溫馨提示×

c語言字符串元素互換怎么實(shí)現(xiàn)

小億
126
2023-11-04 11:31:10
欄目: 編程語言

在 C 語言中,字符串是以字符數(shù)組的形式表示的。要實(shí)現(xiàn)字符串中元素的互換,可以通過遍歷字符數(shù)組并交換對應(yīng)的元素來完成。

下面是一個示例代碼,演示了如何實(shí)現(xiàn) C 語言字符串中元素的互換:

#include 
#include 
void swap(char* str, int i, int j) {
    char temp = str[i];
    str[i] = str[j];
    str[j] = temp;
}
void reverseString(char* str) {
    int length = strlen(str);
    int i, j;
    for (i = 0, j = length - 1; i < j; ++i, --j) {
        swap(str, i, j);
    }
}
int main() {
    char str[] = "Hello, World!";
    printf("Original String: %s\n", str);
    reverseString(str);
    printf("Reversed String: %s\n", str);
    return 0;
}

在上述代碼中,`swap()` 函數(shù)用于交換字符數(shù)組 `str` 中索引為 `i` 和 `j` 的元素。`reverseString()` 函數(shù)使用雙指針法,從字符串的兩端開始向中間遍歷,并調(diào)用 `swap()` 函數(shù)進(jìn)行元素交換,最終實(shí)現(xiàn)字符串的翻轉(zhuǎn)。

注意,C 語言中的字符串是以 null 字符 `\0` 結(jié)尾的,所以在進(jìn)行字符串操作時需要確保字符串末尾有 `\0`,否則可能導(dǎo)致未定義行為。

以上代碼輸出結(jié)果為:

Original String: Hello, World!
Reversed String: !dlroW ,olleH

這樣就完成了 C 語言字符串中元素的互換。

0