1.  
  2. de>#include<stdio.h>

    #include<stdlib.h>

    #define MAX_LEN 255

    int my_strlen1(const char* str);

    int my_strlen2(char* str);

    int main()

    {

        char str1[MAX_LEN];

        printf("Please input the string you want to strlen:\n");

        fgets(str1,256,stdin);

        printf("Length of %s is %d\n",str1,my_strlen1(str1));

        

        char* str2="Hello,world!";

        printf("Length of %s is %d\n",str2,my_strlen2(str2));

        exit(EXIT_SUCCESS);

    }

    /*strlen,定义变量的写法*/

    int my_strlen1(const char* str)

    {

        int len=0;

        while(*(str+len)!='\0')

            len++;

        return len;

    }

    /*strlen,不用变量,递归的写法*/

    int my_strlen2(char* str)

    {

        if(*str=='\0')

            return 0;

        else

            return (1+my_strlen2(++str));

    }de>

de>/*zj@zj:~/C_parm/string/own_str$ gcc -o strlen strlen.c

 zj@zj:~/C_parm/string/own_str$ ./strlen

 Please input the string you want to strlen:

 hello,world!

 Length of hello,world!

 is 13

 Length of Hello,world! is 12

 *

 *聪明的你也许发现那里有点不对劲了,对一个是12,一个是13!

 其实strlen是不计算最后的字符串结束符'\0'的,那为什么有13呢?

  看输出就知道了,有个换行符号,对就是你输入时的结束符,回车了哦*/de>

复制去Google翻译翻译结果

C语言中用于计算数组长度的函数 “strlen() ”。的更多相关文章

  1. 你必须知道的指针基础-4.sizeof计算数组长度与strcpy的安全性问题

    一.使用sizeof计算数组长度 1.1 sizeof的基本使用 如果在作用域内,变量以数组形式声明,则可以使用sizeof求数组大小,下面一段代码展示了如何使用sizeof: ,,,,,}; int ...

  2. C语言中求字符串的长度

    在C语言中求字符串的长度,可以使用sizeof()函数和strlen()函数,后者需要引入string.h (#include <string.h>) 因为C语言字符串是以 \0 结尾表示 ...

  3. C语言中指针和数组

    C语言数组与指针的那些事儿 在C语言中,要说到哪一部分最难搞,首当其冲就是指针,指针永远是个让人又爱又恨的东西,用好了可以事半功倍,用不好,就会有改不完的bug和通不完的宵.但是程序员一般都有一种迷之 ...

  4. (待续)C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)

    目录 00 简介 01 算法概述 02 公用方法与变量解释 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存 ...

  5. C语言中的指针数组

    C语言中的指针数组是什么,像 char *a[]={"ddd","dsidd","lll"}; 这里讲一下注意如果我们使用了a也就是首元素的 ...

  6. php检测数组长度的函数sizeof count

    php教程检测数组长度的函数sizeof count在php检测数组长度的函数有sizeof  count 下面看个简单实例*/$colorlist = array("apple" ...

  7. c语言中的字符数组与字符串

    1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y ...

  8. [日常] C语言中的字符数组和字符串

    c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋 ...

  9. C++中变量做数组长度

    在Java中,这是完全可以的,比如我们运行如下程序: package cn.darrenchan.storm; import java.util.Arrays; public class Test { ...

随机推荐

  1. 怎么在linux下创建一个可运行脚本?

    1.touch hello.sh 2.vim hello.sh键入i插入#!/bin/shecho hello world;键入:esc:wq3.chmod 700 hello.sh 4. 执行./h ...

  2. zuul的学习

    1.zuul的介绍 https://blog.csdn.net/tianyaleixiaowu/article/details/78083269

  3. (sort)P1068 分数线划定 洛谷

    题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,AA市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150\% ...

  4. qml Loader异步导致ComBoBox数据乱序

    qml  Loader异步导致ComBoBox数据乱序 当使用Loader动态加载qml文件时, 如果将Loader设置为异步,那么动态加载的组件内的ComBoBox数据将呈现乱序状态, 代码请见下文 ...

  5. day11-(cookie&&session)

    回顾: response:响应 往浏览器写东西 响应行 操作状态码 常用方法: setStatus(int code): 1 2 3 响应头 格式: key:value(value可以是多个) 常用方 ...

  6. 列举一些 MacBook Pro 必需的外设和应用程序推荐

    来源:知乎 文章收录于:风云社区SCOEE,提供上千款mac软件下载 基于从事Apps设计或开发者,使用 MacBook Pro,以下罗列一些必需的外设和应用程序推荐. Retina 256GB SS ...

  7. angular cli全局版本大于本地版本 把本地版本升级方式

    查看 angular 版本  ng version 如出现提示 Your global Angular CLI version (xxx) is greater than your local ver ...

  8. Vue computed属性

    computed vs methods 我们可以使用Vue中的method计算出学科的总分,最终得到的总数结果是相同的. 在上例的基础上,我们把computed区块中的totalMarks函数整体移到 ...

  9. 2017-12-15python全栈9期第二天第七节之数字转换成布尔值

    #!/user/bin/python# -*- coding:utf-8 -*-print(bool(2))

  10. python静态方法和类方法

    静态方法和类方法在python2.2中被引用,经典类和新式类都可以使用.同时,一对内建函数:staticmethod和classmethod被引入,用来转化类中某一方法为这两种方法之一. 静态方法: ...