C语言中如何逆序任意输出的字符串

C语言中如何逆序任意输出的字符串的三种方法:

一 设置两个指针,分别指向字符串的头部和尾部,然后交换两个指针所指的字符,并向中间移动指针直到交叉。

char *Reverse(char *s){ // p指向字符串头部 char *p = s ; // q指向字符串尾部 char *q = s ; while(*q) ++q ; q -- ; // 交换并移动指针,直到p和q交叉 while(q > p) { char t = *p ; *p++ = *q ; *q-- = t ; } return s ;}

二 用递归的方式,需要给定逆序的区间,调用方法:Reverse(s, 0, strlen(s)) ;

// 对字符串s在区间left和right之间进行逆序,递归法char *Reverse( char *s, int left, int right ){ if(left >= right) return s ; char t = s[left] ; s[left] = s[right] ; s[right] = t ; Reverse(s, left + 1, right - 1) ;}

三 非递归法,同样指定逆序区间,和方法一没有本质区别,一个使用指针,一个使用下标。

// 对字符串str在区间left和right之间进行逆序char *Reverse( char *s, int left, int right ){ while( left < right ) { char t = s[left] ; s[left++] = s[right] ; s[right--] = t ; } return s ;}

C语言文件逆序输出

调用下面的函数将字符串逆序,然后输出到文件即可。

char*str_reverse(char*str)

{

intn=strlen(str)/2;

inti=0;

chartmp=0;

for(i=0;i<n;i++)

{

tmp=str[i];

str[i]=str[strlen(str)-i-1];

str[strlen(str)-i-1]=tmp;

}

returnstr;

}

来源:https://www.weidianyuedu.com/content/2120823378347.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值