写一个函数实现字符串的逆序。一般来讲,实现字符串的逆序有两大类主要途径。一、改变字符串的内容–逆序。二、不改变字符串的内容逆序。
这里是实现了改变字符串的内容,实现逆序。
要改变字符串对的内容,那么就会用到指针。
具体功能函数代码如下:
void Reversestring(char *a, int n){
char* start = a, *end = a+strlen(a)-1;
while (start <end){
char temp =* start;
*start = *end;
*end = temp;
start++;
end--;
}
}
以上的函数一定要注意:创建的临时指针变量,一定要和传入该函数的数组的类型相同,不然就会有很多麻烦。函数用while循环,使用头指针和尾指针,实现地址的交换,并用一个char类型的临时变量,来进行地址的搬运。
以下就是整个代码。
#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)
void Reversestring(char *a, int n){
char* start = a, *end = a+strlen(a)-1;
while (start <end){
char temp =* start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main(){
char arr[] = "helloworld";
char *a = arr;
int num = sizeof(arr) / sizeof(arr[0]);
printf("before:%s \n ", arr);
Reversestring(arr ,num);
printf("after:%s\n ", arr);
system("pause");
return 0;
}
这样就实现了对字符串的逆序。