字符串逆序输出c++语言(字符串逆序输出c语言第一个为什么会被吞)

http://www.itjxue.com  2023-03-29 16:25  来源:未知  点击次数: 

c语言字符串逆序输出。

#include?stdio.h

#include?string.h

int?main()

{

int?i;

int?str_len;

char?str[81];

gets(str);

str_len?=?strlen(str);??

//str_len-1就是最后一个元素的下标?不理解的话可以想想??"abc"?长度3?最后c的下标是2?理解了吧

//然后一直自减到i=0?也就是第一个字符?那么下面的for循环的意思就是

//从最后一个字符逐个倒着输出这个字符串的元素

for(i?=?str_len-1;?i?=?0;?i--)??

{

printf("%c",?str[i]);

}

return?0;

}

C语言:输入一个字符串,然后逆序输出

#include stdio.h

int main()

{ ?int len,i;

char str[100];

gets(str);

len=strlen(str);

for(i=len-1;i=0;i--)

printf("%c",str[i]);

return 0;

}

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

如何用C语言将字符串逆序输出?

C语言程序如下:

#includestdio.h

#includestring.h

main()

{

int i,j,t,n;

char a[10];

printf("请输入字符串:");

gets(a);

n=strlen(a);

for(i=0;i=n/2;i++)

{

t=a[i];

a[i]=a[n-1-i];

a[n-1-i]=t;? ?

}

for(j=0;jn;j++)

printf("%c",a[j]);

printf("\n");

}

扩展资料:

字符串倒序输出的五种方法

1、使用数组循环

2、StringBuffer的reverse方法

3、StringBuffer的循环

4、栈的后进先出

5、迭代完成

用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(s p)

{

char c = *p; //交换头尾字符

  *p = *s;

 *s = c;

p--; //尾向前挪一个

reverse(s+1); //相当于头向后挪一个

}

return s;

}

3.1 当然,有的时候,并不需要reverse函数本身递归,而是可以借助一些辅助的递归函数,比如说:

void reversehelp(char * head, char * end)

{

if (head end)

{

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 ( n 1 )

{

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;

}

(责任编辑:IT教学网)

更多

推荐网络赚钱文章