请编写一个C函数,将一个字符串逆序

时间:2023-03-09 08:08:02
请编写一个C函数,将一个字符串逆序

目前有两种思路,一个是申请一片辅助空间,然后将原字符串逆向拷贝到辅助空间,然后输出;另一种是原地逆序,不需要额外的辅助空间,方法就是字符串首尾交换。


#include <stdio.h>
#include <string.h> char* str_reverse(char* str)
{
int n = strlen(str) / 2;
int i = 0;
char tmp = 0; for(i = 0; i < n; i++)
{
tmp = str[i];
str[i] = str[strlen(str)-i-1];
str[strlen(str)-i-1] = tmp;
} return str;
} int main()
{
char s[] = "hello world!"; printf("str_reverse(s) = %s\n", str_reverse(s)); return 0;
}

相关文章