gpt4 book ai didi

c - 不使用 strrev 函数反转字符串

转载 作者:行者123 更新时间:2023-11-30 20:25:20 26 4
gpt4 key购买 nike

如何通过仅提供 char* 和长度作为输入参数并接收反转的字符串作为输出来反转 C 中的字符串?另外,不使用 strrev 函数。仅通过使用循环?

编辑:好的,我现在就是这样做的:

char*  __stdcall Reverse(char *str, int length, char* *out)
{

char *s = str;

char *end = s + length - 1;
for (; s < end; ++s, --end) {
char ch = *end;
*end = *s;
*s = ch;
}
*out = str;
}

最佳答案

#include <string.h>

char *strrev(char *str)
{
char *p1, *p2;

if (! str || ! *str)
return str;
for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)
{
*p1 ^= *p2;
*p2 ^= *p1;
*p1 ^= *p2;
}
return str;
}

#include <stdio.h>

int main(int argc, char *argv[])
{
while (--argc)
{
printf("\"%s\" backwards is ", *++argv);
printf("\"%s\"\n", strrev(*argv));
}
}

您可以实现自己的 strrev (我从 here 获取它)。尝试将 c strrev source 作为 Google 查询。

关于c - 不使用 strrev 函数反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29282173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com