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翻译翻译结果

最新文章

  1. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
  2. Android系统拍照源码
  3. &lt;转&gt; jsp:include 乱码问题解决
  4. WebApi:路由和Action选择
  5. PowerVault TL4000 Tape Library 告警:&ldquo;Media Attention&rdquo;
  6. [处理器、单片机]ARM
  7. sql语句去除重复记录(多表连接的查询)
  8. Respond.js让IE6-8支持CSS3 Media Query
  9. L9-3.安装PHP软件包
  10. poj 3744 Scout YYF I (可能性DP+矩阵高速功率)
  11. CSharp笔记&gt;&gt;&gt;多语言,注册
  12. 通过修改注册表设置windows环境变量
  13. async与defer
  14. ANSYS分析中的单位
  15. Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster
  16. 逆向 AWS API 设计
  17. ODAC(V9.5.15) 学习笔记(十三)TOraMetaData
  18. P4097 [HEOI2013]Segment(李超树)
  19. hash和md5
  20. 一个很大的文件,存放了10G个整数的乱序数列,如何用程序找出中位数。

热门文章

  1. apache2 以及https证书配置
  2. delphi中Bitmap位图与base64字符串相互转换
  3. 位掩码(BitMask)的介绍与使用
  4. 关于indexOf,charAt,subString的区别
  5. linux服务器,发现大量TIME_WAIT
  6. C++回顾day01---&lt;命名空间&gt;
  7. 基于zookeeper(集群)+LevelDB的ActiveMq高可用集群安装、配置、测试
  8. 2018牛客网暑期ACM多校训练营(第一场)B Symmetric Matrix(思维+数列递推)
  9. nodejs 下载远程图片
  10. jquery.easing 和 jquery.transit 动画插件的使用