c语言指针实现数组倒序
时间: 2023-12-25 16:27:28 浏览: 66
以下是两种C语言指针实现数组倒序的例子:
1.使用while循环和指针实现数组倒序
```c
void reverse_string(char* arr) {
int l = 0;
int r = strlen(arr) - 1;
while (l < r) {
char tmp = *(arr + l);
*(arr + l) = *(arr + r);
*(arr + r) = tmp;
l++;
r--;
}
}
int main() {
char arr[] = "abcdef";
reverse_string(arr);
printf("%s\n", arr); // 输出:fedcba
return 0;
}
```
2.使用递归和指针实现数组倒序
```c
int Strlen(char* arr) {
int count = 0;
if (*arr != '\0') {
count++;
count += Strlen(arr + 1);
}
return count;
}
void reverse_string(char* arr) {
int sz = Strlen(arr);
char tmp = *arr;
*arr = *(arr + sz - 1);
*(arr + sz - 1) = '\0';
if (Strlen(arr + 1) >= 2) reverse_string(arr + 1);
*(arr + sz - 1) = tmp;
}
int main() {
char arr[] = "abcdef";
reverse_string(arr);
printf("%s\n", arr); // 输出:fedcba
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)