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

将数组"student a am i"的内容改为"i am a student"

时间:2015-10-31 18:42:46      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:c语言   字符串逆序   函数   

有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
要求:
不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。

#include<stdio.h>
#include<assert.h>

int my_len(char *str)
{   
	
    int count=0;
	assert(str);
	while(*str)
	{
	   count++;
	   str++;
	}
	return count;
}

void  reverse(char *start,char *end)
{
   while(start<end)
   {
      char tmp=*start;
	  *start=*end;
	  *end=tmp;
	  start++;
	  end--;
   }
}
void rev(char *s)
{
  int len=my_len(s);
  char *start=s;
  char *end=s+len-1;
  reverse(start,end);
  while(*s)
  {
     start=s;
	 while((*s!=‘ ‘)&&(*s!=‘\0‘))
	 {
	   s++;
	 }
	 end=s-1;
	 reverse(start,end);
	 if(*s == ‘ ‘)
      s++;
  }
  
}
int main()
{
	char s[]="student a am i";
	rev(s);
	printf("%s\n",s);
	system("pause");
   return 0;
}


将数组"student a am i"的内容改为"i am a student"

标签:c语言   字符串逆序   函数   

原文地址:http://760470897.blog.51cto.com/10696844/1708337

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