c语言函数字母倒序 c语言倒序输出

用C语言写 字符串逆序输出逆序输出有很多种,具体的实现方法取决于你题目的要求
1. 如果只是要求逆序输出,那么可以采用类似的方法:
void reverse(char *s)
{
if(*s=='\0')
return;
reverse(s+1);
printf("%c",*s);
}
这种方法在s很长的情况下会一直递归到底 , 不是很好 。
2. 如果需要将字符串整个逆序在函数外面输出,那么可能希望采用返回字符串指针的方式;实现如下:
char * reverse( char* s )
{
static char *p = s+strlen(s)-1; //p是一个静态变量,指向当前递归层处理的字符串尾,而s指向字符串头
if(sp)
{
char c = *p; //交换头尾字符
*p = *s;
 *s = c;
p--; //尾向前挪一个
reverse(s+1); //相当于头向后挪一个
}
return s;
}
3.1 当然,有的时候 , 并不需要reverse函数本身递归,而是可以借助一些辅助的递归函数 , 比如说:
void reversehelp(char * head, char * end)
{
if (headend)
{
char c = *head;
*head = *end;
*end = c;
reversehelp(++head, --end);
}
}
然后在调用时像这样调用:
char * reverse(char * s)
{
char * end = s + strlen(s) - 1;
reversehelp(s, end);
return s;
}
3.2 类似的辅助函数还可以采用一个字符串指针和一个长度参数的方式 , 如下例:
void reversehelp( char* s, int n )
{
if ( n1 )
{
char c = s[n-1];
s[n-1] = s[0];
s[0] = c;
reversehelp( s+1, n-2 );
}
}
然后在调用时如下:
char *reverse(char *s)
{
reversehelp( s, strlen(s) );
return s;
}
C语言写用一个函数实现字符串数组的倒序输出,返回字符串 下面是我写的程序#include "stdio.h"
#include "string.h"
char *output(char name[]);
main()
{
char name[20];
scanf("%s",name);
printf("%s",output(name));
}
char *output(char name[])
{
int i,n;
char *p
char b[20];
n=strlen(name);
for(i=0;in;i++)
b[i]=name[n-1-i];
strcpy(name,b);//p=b;//局部变量b是放堆栈c语言函数字母倒序的c语言函数字母倒序,函数返回后其内存被系统回收 。
return name;
}
c语言 子函数实现字符串倒序 主函数打印#includestdio.h
void reverse(char in[],int max)
{
char tmp[999]=""; //长度足够长,而且要赋初值
int i,j;
for (i=0;imax;i++)
tmp[i] = in[i];
for(i=0;tmp[i]!='\0';++i);
for(j=0;i0;++j,--i)
in[j]=tmp[i-1];
in[j]='\0';
}
int main()
{
char str[99];
gets(str);
reverse(str,strlen(str));
puts(str);
return 0;
}
#includestdio.h
#includestring.h
void dx(char *a,int num)
{
char tmp;
int i;
for (i=0;i(num/2);i++) //第一个字符和最后一个互换,第二个和倒数第二个互换
{
tmp = a[i];
a[i] = a[num-i-1];
a[num-i-1] = tmp;
}
}
int main()
{
char str[99];
gets(str);
dx(str,strlen(str));
puts(str);
return 0;
}
//不用函数比较好
#includestdio.h
#includestring.h
int main()
{
char str[99];
int i;
gets(str);
for(i=strlen(str)-1;i=0;i--)putchar(str[i]);
putchar('\n');
return 0;
}
用C语言写一个函数,使输入的字符串按反序存放,在主函数中输入和输出字符串 。#include stdio.h
#include string.h
int main()
{void inverse(char str[]);
char str[100];
printf("input string:");

推荐阅读