求高手解决一道题
用递归的方法将一个字符串逆序存放怎么编写。(注:不要用指针)
#include <stdio.h> #include <iostream> using namespace std; void reverse(char string[], int len) { if (len <= 1) { return; } char temp = string[0]; string[0] = string[len - 1]; string[len - 1] = temp; reverse(&string[1], len - 2); } void main() { char StringTest[] = { "123456789abcdef" }; cout<<StringTest << endl; reverse(StringTest, strlen(StringTest)); cout<<"reverse: "<< StringTest<<endl; }
#include <stdio.h> void print(char ch=getchar()) { if(ch!='\n'){ print(ch=getchar()); printf("%c",ch); } } void main() { char ch; printf("输入一行字符串\n"); print(ch=getchar()); printf("%c\n",ch); }像存在数组中就改在存在数组中就行了
#include <stdio.h> #include <string.h > void fun(char str[], int nPos) { printf("%c", str[i]); if (nPos == 0) { printf("\n"); return; } fun(str[], nPos - 1); } void main() { char str[81]; printf("input the string :\n"); scanf("%s",str); fun(str, strlen(str)); printf("%s\n",str); } 为什么要写成递归,效率一点也不好也没有什么优越的地方