字符串的逆序排放代码
时间: 2024-06-11 20:00:55 浏览: 52
有多种方法可以实现字符串的逆序排放,以下是其中两种方法的代码:
方法一:使用递归和函数嵌套
```
int my_strlen(char* p) {
if(*p != '\0') {
return 1 + my_strlen(p + 1);
} else {
return 0;
}
}
void reverse_string(char* string) {
int strlength = my_strlen(string);
char temp = *string;
*string = *(string + strlength - 1);
*(string + strlength - 1) = '\0';
if (my_strlen(string+1) >= 2) {
reverse_string(string + 1);
}
*(string + strlength - 1) = temp;
}
int main() {
char arr[] = "abcdef";
reverse_string(arr);
printf("%s", arr);
return 0;
}
```
方法二:使用循环
```
int my_strlen(char* p) {
int n = 0;
while (*p != '\0') {
p++;
n++;
}
return n;
}
void reverse_string(char* string) {
int strlength = my_strlen(string);
for (int i = 0; i < (strlength/2); i++) {
char temp = 0;
temp = *(string + i);
*(string + i) = *(string + strlength - 1 - i);
*(string + strlength -1- i) = temp;
}
}
int main() {
char arr[] = "abcdef";
reverse_string(arr);
printf("%s", arr);
return 0;
}
```