【发布时间】:2017-11-23 14:21:02
【问题描述】:
我的任务是 函数逆向的实现。在实现函数时,禁止使用C语言库的函数。 有人可以帮我实现函数strlen吗?
我的功能:
void revstr( char * str){
int i, len = 0;
len = strlen(str);
for (i = 0; i <= len / 2; i++){
*(str + len - i) = *(str + i);
*(str + i) = *(str + len - i - 1);
}
for (i = len / 2; i <= len; i++)
*(str + i) = *(str + i + 1);
}
【问题讨论】:
-
strlen对字符进行计数,直到到达字符0x00。我想这些信息就足够了。 -
*(str + len - i)等是不可读的。使用str[len - i] -
编写代码 rhat 交换两个值(例如字符)。测试,然后再测试一些,确保它有效,然后继续写
reverse。 -
@bolov 这是一个家庭作业,我发现这个语法对学习指针运算很有用。
-
谁能帮我实现strlen函数? stackoverflow.com/questions/39438991/…
标签: c