2011-03-06 wcdj
问题描述:
编写如下形式的字符串处理函数,要求将s1指向的字符串倒向复制给s2,如s1 = "hello",则使 s2 = "olleh"。且不能使用除s1和s2以外的其余任何变量。
void ReverseStr( const char* s1 ,char* s2);
问题来自 :讨论
总结几种实现方法如下:
方法一:递归
方法二:设置标记位,即添加一个哨兵
方法三:不使用变量使用内存,把长度存储在s2中
方法四:使用异或运算交换变量
方法五:使用字符串常量
方法六:巧用strlen和置'/0'
补充:CRT中strrev.c的实现

本文介绍了一种特殊的字符串反转函数实现,该函数要求仅使用两个指针完成字符串的倒序复制,探讨了包括递归、哨兵标记等在内的六种实现方法,并展示了微软CRT库中strrev函数的具体实现。
4万+

被折叠的 条评论
为什么被折叠?



