- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何通过仅提供 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/
所以基本上: #include #include #include #include int main(void){ //test strrev char s[50];
strrev()的返回值有什么用?即使在反转字符串之后,值也会在给定的字符串中被修改。 Ex: char *strrev(char *src); 这里字符串反转后,输出将出现在 src 中。那么返回字
我看不懂汇编代码,所以我的假设可能是完全错误的! 这是我的代码: void reverse(char* str) { size_t size = strlen(str) / 2; ch
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
编辑 2014 年 4 月 19 日: 谢谢大家,多亏了你们的解答,终于成功了。我将在下面留下我原来的帖子,以防其他初学者最终讨论这个主题,他可以从我的错误中学习。再次感谢您抽出时间,很抱歉我没能尽快
我试图让 _strrev 函数工作,但是当我将我的字符串放入一个函数时它似乎不起作用,就在我离开函数时..我很沮丧,因为我对此一无所获..到目前为止,这是我的代码 #define _CRT_SECUR
这个问题在这里已经有了答案: Is the strrev() function not available in Linux? (6 个答案) 关闭 8 年前。 关于为什么当我尝试编译this 代码
前段时间,在一次求职面试中,我得到了使用 strrev 在 PHP without 中反转字符串的任务。 我的第一个解决方案是这样的: $s = 'abcdefg'; $temp = ''; for
我是 C 编程新手。我正在编写一个程序,通过表示数组中的整数来实现大整数加法。我将 printf 放在主程序中的任何地方,并发现 strrev 部分是导致问题的原因(我只将错误的部分放在这里,显然不是
我尝试使用 strrev() 编写代码.我包括了但我仍然收到“对 strrev 的 undefined reference ”错误。 我发现 strrev()根本没有手册页。为什么? Linux不支持
我尝试使用 strrev() 编写代码.我包括了但我仍然收到“对 strrev 的 undefined reference ”错误。 我发现 strrev()根本没有手册页。为什么? Linux不支持
我正在尝试使用函数 strrev() 反转字符串。我知道 strrev 返回一个指向反转字符串的指针,所以我简单地初始化一个已分配的字符串,其大小与带有 strrev 函数返回的原始字符串相同。显然这
这个问题在这里已经有了答案: How to reverse a Unicode string (6 个答案) 关闭 12 个月前。 我正在尝试编写一个代码来替换非阿拉伯语支持程序中支持的阿拉伯语文本
我尝试使用 strrev() 编写代码.我包括了但我仍然收到“对 strrev 的 undefined reference ”错误。 我发现 strrev()根本没有手册页。为什么? Linux不支持
我想知道是否有Dart函数,例如PHP的 strrev()。如果没有,您能否请向我展示任何源代码如何自行实现? 谢谢。 最佳答案 我还没有在API中找到一个新的Dart用户(截至今天下午)。但是,以任
我希望用户输入 strrev 的字符串来反转,但是当用户输入字符串时出于某种原因不允许空格,所以如果有人输入 hello,我的名字是 stan。输出只有 nats,我怎样才能得到接受空格的函数? #i
当我们将字符串传递给 strrev 函数时,该函数由 Microsoft 提供,函数原型(prototype)位于 string.h 中。它反转我们传递给它的字符串并返回相同的地址。 第一件事 - 它
void main() { void strrev(char *); char *p="GOOd"; strrev(p); printf("%s",p); } void
我正在研究关于 cstring 的工作在 C++ 代码中。常用的函数之一是 strrev() . 但我发现这个函数在 Mac 和 Linux 上被认为是未定义的,即使我包含了头文件 或 . 但是,该
我一直在阅读有关电子邮件混淆的内容。 我发现了一篇题为 Best Method for Email Obfuscation? - By Jeff Starr 的有趣帖子他在其中描述了 Silvan M
我是一名优秀的程序员,十分优秀!