标签:c
#include <stdio.h>
#include <assert.h>
int length(const char *str)
{
int len=0;
assert(str);
while(*str)
{
len++;
str++;
}
return len;
}
void reverse_str(char *start,char *end)
{
while(start<end)
{
char tmp=*start;
*start=*end;
*end=tmp;
start++;
end--;
}
}
char *reverse(char *str)
{
int n=length(str);
char *ret=str; //先将起始位置保存在ret中
char *start=str;
char *end=str+n-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 ret;
}
int main()
{
char str[]="student a am i" ;
printf( "%s\n",reverse(str));
system( "pause");
return 0;
}本文出自 “感恩” 博客,转载请与作者联系!
有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
标签:c
原文地址:http://bewin.blog.51cto.com/10697684/1708359