代码没有明显的 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;
}

这样做的好处是避免了不必要的指针操作,同时也增加了代码的可读性。

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

原文地址: https://www.cveoy.top/t/topic/bPyH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录