看题时发现这题,本来想用数组,但一看要求需要用递归,摸不着头脑。
首先,要介绍一下递归概念
最终肯定有一个递结束的条件,例如上面的已知的f(1)的值。
1 #include<stdio.h> 2 void reverse_string(char * string) 3 { 4 if(*string!=‘\0‘) 5 { 6 reverse_string(string++); 7 printf("%c",*string); 8 }else 9 return ; 10 } 11 void main() 12 { 13 char *string="qwer"; 14 reverse_string(string); 15 printf("\n"); 16 }
1 void inverse(char *p) 2 { 3 if( *p = = ‘\0‘ ) 4 return; 5 inverse( p+1 ); 6 printf( "%c", *p ); 7 } 8 int main(int argc, char *argv[]) 9 { 10 inverse("abc\0"); 11 return 0; 12 }
原文地址:https://www.cnblogs.com/zealfish/p/12698314.html
时间: 2024-10-07 21:44:17