今天翻到了一些有趣的帖子,其中有一个是不使用strlen函数求字符串的长度。

我首先想到的是用一个变量做累加器,然后遍历循环这个字符串。

#include <stdio.h>
int str(char *x)
{int l=0;while (*x++!=0){l+=1;}return l;
}
int main()
{char x[100];printf("请输入一个字符串:\n");scanf("%s",x);printf("该字符串的长度为:%d\n",str(x));return 0;
}

看到那个帖子竟然说可以用递归来实现,我瞬间就敲了一下

#include <stdio.h>
int str(char *x)
{if(*x++ =='\0') return 0;else return ("%d",1+str(x++));
}
int main()
{char x[100];printf("请输入一个字符串:\n");scanf("%s",x);printf("长度为:%d\n",str(x));return 0;
}

运行一下,还真可以!

我觉得这个递归比我前面那个好,至少在代码量这块就少。那个帖子里面还有很多方法,我看都没看过。想都没想过,

http://bbs.csdn.net/topics/240070349这是那个帖子的链接,这个帖子的时间是比较远久的,但是感觉对我来说,还是比较有用的,至少对我来说,是一个不错的一些想法。

不使用strlen函数求字符串的长度的方法相关推荐

  1. 字符与字符串中的‘\0‘, ‘0‘, 0;strlen()函数求字符串长度计算方法(sizeof()验证)

    先问一个问题:如下字符串or字符数组,用strlen函数求长度各是多少? /*01*/char * str1 = "abc"; /*02*/char * str2 = " ...

  2. 编写函数求字符串的长度

    编写一个函数,求字符串的长度,在main函数中输入字符串,能够输出其长度. #include<stdio.h> #define N 80 int mystrlen(const char c ...

  3. C语言strlen函数求字符串长度及自己实现

    strlen size_t strlen ( const char * str ); 1.字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0' ...

  4. 【c语言】模拟strlen函数求字符串长度的三种方法

    1.借助中间变量(常规方法) #include<stdio.h> int my_strlen(char* str)//接收了数组首元素的地址 {int count = 0;while (* ...

  5. 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)

    前言:对于库函数的使用,我们不仅要会使用方法,更要知晓使用原理,而知晓使用原理最好的方法就是模拟相应库函数的使用. 今天我们就来模拟 strcpy(复制字符串内容) 与 strlen(求字符串长度)这 ...

  6. 求字符串的长度(string char)

    string类型 (1).用string的成员方法length()获取字符串长度 length()比较直观,表示的就是该字符串的长度. #include <bits/stdc++.h>us ...

  7. C语言 | 求字符串的长度

    例78:C语言写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度,要求用指针. 解题思路:求字符串的长度,还要求用指针,读者首先应该想一下不用指针是否可以,求字符串的长度需要判断 ...

  8. C语言实现求字符串的长度

    C语言实现strlen()求字符串的长度. 用递归和循环的方法求 #include<stdio.h> #include<stdlib.h>int strlen_di(char ...

  9. Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度

    Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度 在编程语言中,获取特定数据类型的长度是一种常见做法. Python也一样,因为可以使用内置的 len() 函数来获取字 ...

最新文章

  1. 神策“营销云·微信生态”全面开放,限时免费申请通道开启!
  2. SparkStreaming Exception in thread main java.lang.IllegalArgumentException xxx is not a valid
  3. ESP8266-01学习笔记01:如何使用USB转串口对ESP-01进行入门调试、烧录固件?
  4. Ubuntu之12.04常用快捷键——记住这些你就是高手啦!
  5. [集训队作业2018] count(笛卡尔树,生成函数,卡特兰数)
  6. 【CodeForces - 255C】Almost Arithmetical Progression (dp,离散化)
  7. guid mysql_关于MySQL:MySQL-如何搜索GUID
  8. 计算机内存延迟,CPU性能差距竟然在这里 延迟不止在内存
  9. php菜单管理样式模板,php – SilverStripe Fluent菜单模板
  10. 索引体积_MySQL入门之索引
  11. php 换行输出_Fracker:PHP函数调用追踪与分析工具
  12. [转]vs2005常用快捷键
  13. 使用锚标记返回网页顶部的方法
  14. jQuery+PHP+Mysql在线拍照和在线浏览照片
  15. 计算机网络专助理工程师考试时间,软考高级工程师职称考试时间
  16. SQL vs NoSQL 没有硝烟的战争!
  17. 【fecmall】fecyo-1.5.1开源版本发布 - 重构优惠券部分
  18. JavaScript 数据类型之 Symbol、BigInt
  19. Android用Double Array Trie (双数组)实现关键字的搜索
  20. Android 根据时间显示问好语句(早上好、上午好、中午好、下午好、晚上好)

热门文章

  1. 光伏“领跑者计划”带来一场恶性价格战?
  2. erp服务器备份文件太大,一键ghost 备份文件太大了,导致无法备份,怎么处理?
  3. spine 导出纹理_Spine( 动画制作软件 )中文版分享
  4. SIT1040T,芯力特CAN接口芯片,参数描述,完美替代TJA1040
  5. 笔记本计算机接口类型,小白入门必看!笔记本电脑常见接口都在这了
  6. 测试的五个小分类--功能、界面、安全性、兼容性、易用性
  7. orange+pi+android+7,全志H6四核1.8GHZ的Orange pi 3来了!新一代ARM开发板,64位系统级芯片......
  8. STM32 经过TM1637驱动四位数码管
  9. APP 游戏审核改动
  10. 一,JavaScript基本语法