字符串反转----c语言实现

//字符串翻转
#include<stdio.h>
#include<stdlib.h>
#include<String.h>
void reverse(char *start,char *end);
void reverse(char *start,char *end){
		//用指针来进行移动 
		char tmp;
		while(start<end){
			tmp=*start;//是start指针指向的里面的值被改变了 
			*start=*end;
			*end=tmp;
			start++;
			end--;
		}
		
	}
int main(){
	char c[500];
	char *ps,*pe;//ps找单词的开头,和结尾,pe移动到单词的开头 
	while(gets(c)!=NULL){
		reverse(c,c+strlen(c)-1);
		puts(c);
		ps=c;//把字符串的首地址给ps指针 
		//实现单个单词反转
		//循环 
		while(*ps){
			while(*ps==' '){//ps为空格时,就进入循环 
				ps++;//找到一个单词的开头 
			} 
			pe=ps;//找到了单词的开头 
			
			while(*ps!=' '&& *ps){ //找到单词的尾部 
				ps++;	
			}
			reverse(pe,ps-1);		
		}				
	}
} 

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值