高手指点一下,字符串反转的问题

一个函数void fun(const char *A,char *B)
假如A="abcd",那么B输出为"dcba"。
要求不能用任何库函数,也不能用除A和B以外的任何其它变量。

高手指点,谢谢!

#include<stdio.h>
#include <string.h>
void fun(const char *A,char *B)
{
B+=strlen(A);
*B=0;
while(*A)*--B=*A++;
}
void main()
{
char a[5]="abcd12";
char b[5];
fun(a,b);
printf("%s\n",b);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-05
和你一起等牛人
第2个回答  2008-11-05
const ? 指针?

去看指针的部分啦

看不懂的话,那也就不用学这个了

应付考试的话.........
第3个回答  2008-11-05
不能使用strlen

字符串反转
字符串反转是一个常见的问题,有多种方法可以解决。其中一种方法是使用字符串切片。具体步骤如下:1. 创建一个空字符串,用于存储反转后的结果。2. 使用字符串的切片功能,从字符串的最后一个字符开始,逐步向前切片,并将每个切片添加到结果字符串中。3. 最后返回结果字符串,即为原字符串的反转。另...

字符串反转
首先,我们需要定义一个名为iterative的函数,它接受两个参数,一个是待反转的字符串p,另一个是临时存储反转后字符串的指针tmp。函数的目的是逐个字符地交换p字符串中的字符位置,直到整个字符串都被处理。这里,我们使用strlen函数获取字符串的长度,然后用一个for循环遍历,将p中的字符逐个复制到tmp的...

如何在 Python 中反转字符串?
首先,利用切片技术。理解Python的索引规则至关重要,正负索引均可使用。通过指定start和stop参数,尤其是使用负步长-1,我们可以从后向前取字符,从而实现字符串反转。这种方法高效且不会改变原始字符串。其次,可以借助内置的reversed()函数。这个函数返回一个反向迭代器,通过join()函数将其元素连接起来,...

c语言的问题字符串反转
14 *dest = *(src+n);15 return temp; \/\/ 注意这里:返回dest字符串的首地址 16 } 程序给你测试通过。

题目344——反转字符串数组
反转字符串数组的题目要求不使用额外的空间,直接在输入的字符数组上进行原地修改。本题的难点在于如何仅用O(1)的空间复杂度实现数组反转。示例输入: ["h", "e", "l", "l", "o"]示例输出: ["o", "l", "l", "e", "h"]分析题目描述,我们需要实现的是反转数组内元素的顺序。直观的...

七爪源码:在 C++ 中反转字符串的不同方法
方法1:首先取出给定字符串中的最后一个字符,然后将其添加到新字符串中,以此类推,直至所有字符都添加完毕。这种方法简单易懂,时间复杂度为O(N),空间复杂度也为O(N)。方法2:使用算法头文件中的内置函数进行反转,节省编程时间。同样为O(N)时间复杂度,但空间复杂度仅需O(1),比方法1更优。...

JS字符串反转问题
不是以空格 是空字符串 这样做每个字符都会被分隔 你自己试一下s这个数组是什么就知道了

Python 中的反转字符串:reversed()、切片等
首先,了解基本的Python字符串操作是前提。掌握for和while循环,以及递归概念,能更好地理解和应用这些技巧。Python字符串是不可变的,这意味着不能直接反转,而是需要创建一个反向副本。直接反转字符串的方法有两种:切片和reversed()。切片利用了字符串的可迭代性和索引操作,通过[start:stop:step]语法,...

字符串反转是什么意思
就是第一个成了最后一个,最后一个成了第一个,第二个成了倒数第二个,依次转换

如何用正则表达式实现字符串反转?
如果当前状态是1,读入符号是1,则停在1状态,是0则进入2状态;如果当前状态是2,读入符号是0,则停在2状态,是1则进入3状态;如果当前状态是3,读入符号必然是0,否则构成011子串。此时回到2状态。现在我们来写正则表达式,对1状态可写成(1)*0(...)|(1)对2 3 构成了一个循环,写成((...

相似回答