c語(yǔ)言怎么實(shí)現(xiàn)字符串反轉(zhuǎn)

小億
166
2023-11-21 17:10:02

可以通過(guò)以下方法實(shí)現(xiàn)字符串反轉(zhuǎn):

  1. 使用一個(gè)循環(huán),從字符串的末尾開(kāi)始遍歷,依次將字符拼接到一個(gè)新的字符串中。
#include <stdio.h>
#include <string.h>

void reverseString(char* str) {
    int len = strlen(str);
    char reversed[len+1];
    int i, j = 0;
    
    for (i = len - 1; i >= 0; i--) {
        reversed[j++] = str[i];
    }
    reversed[j] = '\0';
    
    printf("Reversed string: %s\n", reversed);
}

int main() {
    char str[] = "Hello World";
    reverseString(str);
    return 0;
}

輸出結(jié)果為:Reversed string: dlroW olleH

  1. 使用兩個(gè)指針,一個(gè)指向字符串的開(kāi)頭,一個(gè)指向字符串的末尾,通過(guò)交換兩個(gè)指針指向的字符來(lái)實(shí)現(xiàn)字符串的反轉(zhuǎn)。
#include <stdio.h>
#include <string.h>

void reverseString(char* str) {
    int len = strlen(str);
    int i, j = len - 1;
    
    for (i = 0; i < j; i++, j--) {
        char temp = str[i];
        str[i] = str[j];
        str[j] = temp;
    }
    
    printf("Reversed string: %s\n", str);
}

int main() {
    char str[] = "Hello World";
    reverseString(str);
    return 0;
}

輸出結(jié)果為:Reversed string: dlroW olleH

0