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;
}
结果:

该代码示例展示了如何在C语言中实现字符串的逆置以及循环字符串的功能。`MyStrrev`函数用于交换字符串中的两个字符,`LoopStr`函数则实现了整个字符串及内部单词的逆置。在主函数`main`中,对字符串hellomystudent进行了处理并打印了结果。
952

被折叠的 条评论
为什么被折叠?



