c语言

c语言指针怎么实现字符串逆置

小亿
118
2023-12-11 20:21:42
栏目: 编程语言

C语言中可以使用指针来实现字符串逆置。下面是一种实现方式:

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

void reverseString(char *str) {
    int length = strlen(str);
    char *start = str; // 指向字符串的起始位置
    char *end = str + length - 1; // 指向字符串的结束位置

    // 交换起始位置和结束位置的字符,并同时向中间移动指针
    while (start < end) {
        char temp = *start;
        *start = *end;
        *end = temp;

        start++;
        end--;
    }
}

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

    reverseString(str);
    printf("Reversed string: %s\n", str);

    return 0;
}

运行结果:

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

在上述代码中,reverseString函数接受一个指向字符串的指针,通过使用两个指针startend来交换字符串中对应位置的字符。初始时,start指向字符串的起始位置,end指向字符串的结束位置。然后通过循环将start指针向右移动一位,将end指针向左移动一位,并交换它们所指向的字符,直到startend指针相遇为止。最后,字符串中的字符就被逆置了。

0
看了该问题的人还看了