请编写一个 C 函数,该函数将一个字符串逆序,至少运用两种方法
时间: 2023-05-16 22:04:25 浏览: 89
答案:
方法一:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "hello world";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
方法二:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
char *start = str;
char *end = str + strlen(str) - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "hello world";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
注意:以上代码中的两种方法都是将字符串原地逆序,即不使用额外的空间。
阅读全文