1、实现一个字符串的倒序
程序:#include<stdio.h>
#include<malloc.h>
int main()
{
char str[]="hello,world";
char *src=str;
char *dest;
int len=sizeof(str);
dest=(char*)malloc(len);
char *s=src+len-2;
for(int i=0;i<len;i++)
{
*(dest+i)=*(s-i);
}
printf("%s\n",dest);
return 0;
}
2、编写一个函数,作用是把一个char组成的字符串循环右移n个
程序;#include<stdio.h>
int main()
{
void LoopMove(char *pStr,int steps,char c,int len);
char str[]="abcdefghi";
int len=sizeof(str);
char *p=str+len-2;
//printf("%s\n",p);
int n;
printf("请输入一个值:\n");
scanf("%d",&n);
LoopMove(p,n,str[0],len);
return 0;
}
void LoopMove(char *pStr,int steps,char c,int len)
{
char temp;
for(int i=0;i<steps;i++)
{
temp=*pStr;
while(*pStr!=c)
{
*pStr=*(pStr-1);
pStr=pStr-1;
}
c=temp;
*pStr=temp;
pStr=pStr+len-2;
}
pStr=pStr-len+2;
printf("%s\n",pStr);
}