码迷,mamicode.com
首页 > 编程语言 > 详细

c语言,将字符串逆置,如"i am a student"逆置为"student a am i"

时间:2015-10-31 18:43:19      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:c语言   字符串逆置   

#include<stdio.h>
#include<assert.h>
/*求字符串长度*/
int my_strlen(char *str)          
{
        assert(str);
	int count=0;
	while(*str)
	{
		count++;
		str++;
	}
	return count;
}
/*逆置函数*/
char *reverse_str(char *start,char *end)
{
	char *ret=start;
	char temp;
	while(start<end)
	{
		temp=*start;
		*start=*end;
		*end=temp;
		start++;
		end--;
	}
	return ret;
}

char *reverse(char *str)
{
        assert(str);
	char *tmp=str;
	char *start=str;
	char *end=str+my_strlen(str)-1;
	reverse_str(start,end);//逆置字符串
	while(*str)
	{
		start=str;
		while((*str!=‘ ‘)&&(*str!=‘\0‘))
		{
			str++;
		}
		end=str-1;
		reverse_str(start,end);//逆置单词
		if(*str==‘ ‘)
			str++;
	}
	return tmp;
}
int main()
{
	char arr[]="i am a student";
	printf("%s\n",reverse(arr));
	return 0;
}


c语言,将字符串逆置,如"i am a student"逆置为"student a am i"

标签:c语言   字符串逆置   

原文地址:http://green906.blog.51cto.com/10697569/1708356

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!