求字符串长度

来源:互联网 发布:java绘制流程图 编辑:程序博客网 时间:2024/05/16 04:38

目的:考察对strlen函数的使用
strlen函数的常规写法。

#include<stdio.h>#include<string.h>int main(){    char *p = "abcdef";//字符指针的初始化,将字符串的首地址赋给指针变量p    int len = strlen(p);//使用格式---整型变量=strlen(字符数组或字符指针或字符串)    printf("%d\n", len);    return 0;}

拓展:模拟实现strlen函数,求字符串长度。

#include<stdio.h>#include<assert.h>int my_strlen(const char *str)//const放在星号的左边表示指针所指向的内容不能通过指针改变,这样使代码更加安全{    int count = 0;    assert(str != NULL);//防止str为空指针    while (*str != '\0')    {        count++;        str++;//表示指针向后移动一个单元,指向下一位    }    return count;}int main(){    char *p = "abcdef";    int len = my_strlen(p);    printf("%d\n", len);    return 0;}

深度拓展:不允许创建临时变量求字符串长度(递归写法

#include<stdio.h>int my_strlen(const char *str)//const放在星号的左边表示指针所指向的内容不能通过指针改变,这样代码更加安全{    if (*str == '\0')    {        return 0;    }    else    {        return 1 + my_strlen(str+1);//从第一个字符开始判断是否是‘\0’,如果不是就加1,再判断下一位    }}int main(){    char *p = "abcdef";    int len = my_strlen(p);    printf("%d\n", len);    return 0;}
原创粉丝点击