C語(yǔ)言string方法如何實(shí)現(xiàn)字符串反轉(zhuǎn)

小樊
81
2024-09-29 15:22:05

在 C 語(yǔ)言中,沒(méi)有內(nèi)置的 string 類(lèi)型,我們可以使用字符數(shù)組來(lái)表示字符串。要實(shí)現(xiàn)字符串反轉(zhuǎn),可以遵循以下步驟:

  1. 獲取字符串的長(zhǎng)度。
  2. 使用雙指針?lè)ń粨Q字符數(shù)組的首尾字符,然后向中間移動(dòng),直到兩個(gè)指針相遇或交叉。

下面是一個(gè)簡(jiǎn)單的示例代碼:

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

void reverse_string(char *str) {
    if (str == NULL) {
        return;
    }

    int length = strlen(str);
    for (int i = 0; i < length / 2; i++) {
        char temp = str[i];
        str[i] = str[length - 1 - i];
        str[length - 1 - i] = temp;
    }
}

int main() {
    char str[] = "Hello, world!";
    printf("Original string: %s\n", str);
    reverse_string(str);
    printf("Reversed string: %s\n", str);

    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)名為 reverse_string 的函數(shù),它接受一個(gè)字符數(shù)組指針作為參數(shù)。我們首先檢查字符串是否為空,然后計(jì)算其長(zhǎng)度。接下來(lái),我們使用一個(gè) for 循環(huán)遍歷字符串的前半部分,并在每次迭代中交換首尾字符。最后,在主函數(shù)中,我們調(diào)用 reverse_string 函數(shù)并打印結(jié)果。

0