c语言

c语言怎么逆序输出字符串

小亿
95
2024-09-05 08:28:07
栏目: 编程语言

在C语言中,要逆序输出字符串,可以使用以下方法:

  1. 使用双指针法:
#include<stdio.h>
#include<string.h>

void reverse_string(char *str) {
    int len = strlen(str);
    char *start = str;
    char *end = str + len - 1;
    char temp;

    while (start < end) {
        temp = *start;
        *start = *end;
        *end = temp;

        start++;
        end--;
    }
}

int main() {
    char str[] = "Hello, World!";
    printf("原始字符串: %s\n", str);
    
    reverse_string(str);
    printf("逆序字符串: %s\n", str);

    return 0;
}
  1. 使用递归方法:
#include<stdio.h>
#include<string.h>

void reverse_string_recursive(char *str, int start, int end) {
    if (start >= end) {
        return;
    }

    char temp = str[start];
    str[start] = str[end];
    str[end] = temp;

    reverse_string_recursive(str, start + 1, end - 1);
}

int main() {
    char str[] = "Hello, World!";
    printf("原始字符串: %s\n", str);
    
    int len = strlen(str);
    reverse_string_recursive(str, 0, len - 1);
    printf("逆序字符串: %s\n", str);

    return 0;
}

这两种方法都可以实现字符串的逆序输出。第一种方法使用双指针法,从字符串的头尾开始交换字符,直到两个指针相遇;第二种方法使用递归,将字符串的头尾字符交换,然后对剩余的子字符串进行递归处理。

0
看了该问题的人还看了