方法一:
int main()
{
char *str="iauhs oah gnail uf am";
int len = strlen(str);
int i;
char tmp[100];
strcpy(tmp,str);
for(i=0;i<len/2;i++)
{
char c = tmp[i];
tmp[i] = tmp[len-i-1];
tmp[len-i-1] = c;
}
printf("~str=%s",tmp);
system("pause");
return;
}
方法二:
int inverse(char *p)
{
if(p==NULL)//递归结束的异常条件
{
return ;
}
if (*p=='\0')//递归结束的条件
{
return ;
}
inverse(p+1);//并没有执行打印,而是让字符串的每一个地址入栈
printf("%c",*p);//单个打印字符
}
int main()
{
char str[]="iauhs";
inverse(str);
system("pause");
return;
}
持续更新中......
本文介绍了两种不同的字符串反转方法:一种是使用循环交换首尾字符实现;另一种是利用递归逐层打印字符串。第一种方法通过定义一个临时数组并直接交换元素来完成反转,第二种方法则不改变原始字符串,而是通过递归调用实现逆序打印。
1457

被折叠的 条评论
为什么被折叠?



