#include<string.h> int my_strlen(char* str) { int count = 0; while (*str != '\0'); { count++; str++; } return count; } int main() { char arr[] = "abc"; int len = my_strlen(arr); printf("%d\n", len); return 0; }
时间: 2023-12-05 16:05:26 浏览: 161
C语言程序设计常见上机实验题目汇总.docx
这段代码实现了一个自定义的字符串长度计算函数`my_strlen`,它通过循环遍历字符串中的每个字符,统计字符的数量来计算字符串的长度。具体实现过程如下:
1. 在`my_strlen`函数中定义一个整型变量`count`,并将其初始化为0,用于统计字符串中字符的数量。
2. 使用`while`循环遍历字符串中的每个字符,直到遇到字符串的结束符`\0`为止。
3. 在循环体中,每遍历一个字符,就将`count`变量的值加1,并将指针`str`向后移动一个字符,以便下一次循环遍历下一个字符。
4. 循环结束后,将统计得到的字符数量`count`作为函数返回值。
5. 在`main`函数中定义一个字符数组`arr`,并将其初始化为字符串"abc"。
6. 调用`my_strlen`函数并将`arr`作为参数传入,得到字符串的长度并赋值给整型变量`len`。
7. 使用`printf`函数输出字符串的长度`len`。
8. 返回0表示程序正常结束。
需要注意的是,在原代码中,`while`循环的条件语句后多了一个分号`;`,这会导致循环体内的代码无法执行,从而导致程序输出的结果不正确。因此,需要将分号去掉,修改为如下代码:
```
while (*str != '\0')
{
count++;
str++;
}
```
阅读全文