簡體   English   中英

我在C語言中使用遞歸反轉字符串的方法

[英]My way of reversing a String using recursion in C language

我是新來的,也是編程領域的新手。
我被賦予了使用遞歸反轉字符串的任務,我為它構建了一個程序。 但我不確定它是否使用遞歸? 這是代碼:

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

void reverse(char, long);

int main(){

  char i[100];
  long c;

  gets(i);
  c = strlen(i);

  reverse(i,c);
  return 0;
}

void reverse(char x[100], long y){

  printf("%c", x[y-1]);
  if (y>=0) {
      reverse(x, y-1);
  }
}

我只想知道這個程序是否使用遞歸來反轉字符串?

調用自身的方法通常被認為是遞歸的,所以你的代碼確實是遞歸的

一個直接的答案是肯定的,您的程序正在使用recursion 由於函數正在調用自身。

但是,我還想指出您的程序並沒有反轉字符串,它只是以相反的順序打印字符串。

您可以查看答案以了解如何實際反轉字符串,而不僅僅是以相反的順序打印它。

筆記:

不要使用gets() ,它已被棄用。 使用fgets()代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM