//编写一个函数reverse_string(char * string)(递归实现)
//实现:将参数字符串中的字符反向排列。
//要求:不能使用C函数库中的字符串操作函数。
//第一种方法:递归法
#include <stdio.h>
int reverse_string(char * string)
{
if (*string != '\0')
{
string++;
reverse_string(string);
printf("%c", *(string-1));
}
}
int main()
{
char *string = "abcde";
printf("源字符串为:%s\n", string);
printf("反向排列后为:");
reverse_string(string);
printf("\n");
return 0;
}
//第二种方法:
#include <stdio.h>
#include <assert.h>
#include<string.h>
char *reverse(char *str,int len)
{
int i = 0;
char *start = str;
char *end = str + len - 1;
char tmp ;
assert(str);
while (start < end)
{
tmp = *start;
*start = *end;
*end = tmp;
start++;
end--;
}
return str;
}
int main()
{
char p[] = "abcdef";
int len = strlen(p);
printf("%s\n", reverse(p,len));
return 0;
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。