当我们想要交换一个字符串的顺序,我们应该怎么做呢,例如“abcdefg”我们要转化为“gfedcba”,那我们来看看下面的代码
#include<stdio.h>
#include<string.h>
void exchange(char *str)
{
int left=0;
int right=strlen(str)-1;
char c;
while(left<right)
{
c=str[left];
str[left]=str[right];
str[right]=c;
left++;
right--;
}
}
int main()
{
char arr[20]="you are a pig";
exchange(arr);
printf("%s\n",arr);
return 0;
}
利用c语言里的库函数,strlen()"头文件:#include<stdio.h>"去完成字符串里的元素进行交换,最后达到字符串交换。其实我们也可以,不用库函数,用一个函数去平替strlen(),这个函数得靠自己实现,他的功能与strlen()差不多,如下
#include<stdio.h>
int mystrlen(char *str)
{
int count=0;
while(*str!='\0')
{
count++;
str++;
}
return count;
}
void exchange(char *str)
{
int left=0;
int right=mystrlen(str)-1;
char c;
while(left<right)
{
c=str[left];
str[left]=str[right];
str[right]=c;
left++;
right--;
}
}
int main()
{
char arr[20]="you are a pig";
exchange(arr);
printf("%s\n",arr);
return 0;
}
他们俩的结果都是一样的