void MyStrrev(char*p,int start,int end) //实现字符串逆置
void LoopStr( char *p) //循环字符串
#include <stdio.h>
#include <string.h>
void MyStrrve(char *p,int start,int end)
{
char t;
t=*(p+start);*(p+start)=*(p+end);*(p+end)=t;
}
void LoopStr(char *p)
{
int i=0,j=0,k;
char t;
int n=strlen(p)-1;
while(i<n)
{
MyStrrve(p,i,n);
i++;n--;
}
i=0;
while(*(p+i)!='\0')
{
while(*(p+j)!=' ' && *(p+j)!='\0')
{
j++;
}
k=j-1;
while(i<k)
{
MyStrrve(p,i,k);
i++;k--;
}
while(*(p+j)==' ')
{
j++;
}
i=j;
}
}
int main(int argc, const char *argv[])
{
char str[]="hello my student";
LoopStr(str);
printf("%s\n",str);
return 0;
}
结果:
