21xrx.com
2025-04-03 02:03:43 Thursday
文章检索 我的文章 写文章
C语言教程:如何将字符串倒序输出
2023-06-15 06:54:15 深夜i     43     0
C语言 字符串 倒序输出 循环 递归

在C语言中,字符串是以'\0'结尾的字符数组。将字符串倒序输出,意味着将字符数组中的元素倒序排列。下面我们来了解一下如何实现这个功能。

方法一:使用循环实现

可以先计算字符串长度,然后将最后一个字符作为输出的第一个字符,倒数第二个字符作为第二个字符,以此类推。具体实现如下:

#include 
#include 
void reverse(char *str) {
  int len = strlen(str);
  for (int i = len - 1; i >= 0; i--) {
    printf("%c", str[i]);
  }
  printf("\n");
}
int main() {
  char str[] = "hello world!";
  reverse(str); // 输出:!dlrow olleh
  return 0;
}

方法二:使用递归实现

递归是一种将一个问题分解成多个子问题求解的方法,可以用递归实现字符串的倒序输出。具体实现如下:

#include 
#include 
void reverse(char *str, int len) { // 增加一个参数 len,表示字符串长度
  if (len == 0) { // 递归结束条件
    printf("\n");
  } else {
    printf("%c", str[len-1]); // 先输出最后一个字符
    reverse(str, len-1);    // 然后递归输出剩余的字符
  }
}
int main() {
  char str[] = "hello world!";
  reverse(str, strlen(str)); // 输出:!dlrow olleh
  return 0;
}

  
  

评论区