C 语言实例
使用递归来翻转字符串。
输出结果为:
输入一个字符串: runoob boonur
wave_xiao
196***[email protected]
参考方法:
#include <stdio.h> #include <string.h> char* reverseStr(char* str); int main() { char str[30]; printf("输入一个字符串: "); scanf("%s", str); printf("翻转之前的字符串为:%s\n",str); printf("翻转之后的字符串为:%s",reverseStr(str)); return 0; } char* reverseStr(char* str) { int i=0; int j=strlen(str)-1; char temp; while (i<j) { temp=*(str+i); *(str+i)=*(str+j); *(str+j)=temp; i++; j--; } return str; }
yhs402
181***[email protected]
#include <stdio.h> #include <string.h> void reverseStr(char* str); int main() { char str[30]; printf("输入一个字符串: "); scanf("%s", str); printf("翻转之前的字符串为:"); reverseStr(str); return 0; } void reverseStr(char* str) { if(*str=='\0') return; reverseStr(str+1); printf("%c",*str); }
唐高智
134***[email protected]
参考文档:
#include <stdio.h> #include <string.h> int main() { char c[40]; int i=1; printf("请输入字符串:"); scanf("%s",c); int j=strlen(c); do{ printf("%c",c[j-i]); ++i; } while(i<=j); return 0; }
1-5-5-3-4
a15***@yeah.net
精缩:
#include <stdio.h> int main(int argc, char const *argv[]) { char c[100], *a = c, *b = c; for (scanf("%s", c); *(b + 1) != '\0'; ++b); for (; a < b; *a ^= *b, *b ^= *a, *a++ ^= *b--); printf("%s\n", c); return 0; }
取消
wave_xiao
196***[email protected]
参考方法:
wave_xiao
196***[email protected]
yhs402
181***[email protected]
参考方法:
yhs402
181***[email protected]
唐高智
134***[email protected]
参考文档:
唐高智
134***[email protected]
1-5-5-3-4
a15***@yeah.net
精缩:
1-5-5-3-4
a15***@yeah.net