int my_strlenconst char str char start = str; whilestr != 0 str ++; return str- start;int main int len = my_strlenabcdef; printfdn len; return 0;找bug
代码没有明显的 bug,但是可以对其进行优化,将指针的自增操作改为后缀自增操作符,同时将 start 指针声明为 const 类型。修改后的代码如下:
int my_strlen(const char* str) {
const char* start = str;
while(*str++) {}
return (str - start - 1);
}
int main() {
int len = my_strlen("abcdef");
printf("%d\n", len);
return 0;
}
这样做的好处是避免了不必要的指针操作,同时也增加了代码的可读性。
原文地址: https://www.cveoy.top/t/topic/bPyH 著作权归作者所有。请勿转载和采集!