不使用strlen函数求字符串的长度的方法
今天翻到了一些有趣的帖子,其中有一个是不使用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函数求字符串的长度的方法相关推荐
- 字符与字符串中的‘\0‘, ‘0‘, 0;strlen()函数求字符串长度计算方法(sizeof()验证)
先问一个问题:如下字符串or字符数组,用strlen函数求长度各是多少? /*01*/char * str1 = "abc"; /*02*/char * str2 = " ...
- 编写函数求字符串的长度
编写一个函数,求字符串的长度,在main函数中输入字符串,能够输出其长度. #include<stdio.h> #define N 80 int mystrlen(const char c ...
- C语言strlen函数求字符串长度及自己实现
strlen size_t strlen ( const char * str ); 1.字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0' ...
- 【c语言】模拟strlen函数求字符串长度的三种方法
1.借助中间变量(常规方法) #include<stdio.h> int my_strlen(char* str)//接收了数组首元素的地址 {int count = 0;while (* ...
- 【C语言】模拟实现库函数 strcpy(复制字符串内容) 与 strlen(求字符串长度)
前言:对于库函数的使用,我们不仅要会使用方法,更要知晓使用原理,而知晓使用原理最好的方法就是模拟相应库函数的使用. 今天我们就来模拟 strcpy(复制字符串内容) 与 strlen(求字符串长度)这 ...
- 求字符串的长度(string char)
string类型 (1).用string的成员方法length()获取字符串长度 length()比较直观,表示的就是该字符串的长度. #include <bits/stdc++.h>us ...
- C语言 | 求字符串的长度
例78:C语言写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度,要求用指针. 解题思路:求字符串的长度,还要求用指针,读者首先应该想一下不用指针是否可以,求字符串的长度需要判断 ...
- C语言实现求字符串的长度
C语言实现strlen()求字符串的长度. 用递归和循环的方法求 #include<stdio.h> #include<stdlib.h>int strlen_di(char ...
- Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度
Python中的 len() 是什么?如何使用 len() 函数查找字符串的长度 在编程语言中,获取特定数据类型的长度是一种常见做法. Python也一样,因为可以使用内置的 len() 函数来获取字 ...
最新文章
- 神策“营销云·微信生态”全面开放,限时免费申请通道开启!
- SparkStreaming Exception in thread main java.lang.IllegalArgumentException xxx is not a valid
- ESP8266-01学习笔记01:如何使用USB转串口对ESP-01进行入门调试、烧录固件?
- Ubuntu之12.04常用快捷键——记住这些你就是高手啦!
- [集训队作业2018] count(笛卡尔树,生成函数,卡特兰数)
- 【CodeForces - 255C】Almost Arithmetical Progression (dp,离散化)
- guid mysql_关于MySQL:MySQL-如何搜索GUID
- 计算机内存延迟,CPU性能差距竟然在这里 延迟不止在内存
- php菜单管理样式模板,php – SilverStripe Fluent菜单模板
- 索引体积_MySQL入门之索引
- php 换行输出_Fracker:PHP函数调用追踪与分析工具
- [转]vs2005常用快捷键
- 使用锚标记返回网页顶部的方法
- jQuery+PHP+Mysql在线拍照和在线浏览照片
- 计算机网络专助理工程师考试时间,软考高级工程师职称考试时间
- SQL vs NoSQL 没有硝烟的战争!
- 【fecmall】fecyo-1.5.1开源版本发布 - 重构优惠券部分
- JavaScript 数据类型之 Symbol、BigInt
- Android用Double Array Trie (双数组)实现关键字的搜索
- Android 根据时间显示问好语句(早上好、上午好、中午好、下午好、晚上好)
热门文章
- 光伏“领跑者计划”带来一场恶性价格战?
- erp服务器备份文件太大,一键ghost 备份文件太大了,导致无法备份,怎么处理?
- spine 导出纹理_Spine( 动画制作软件 )中文版分享
- SIT1040T,芯力特CAN接口芯片,参数描述,完美替代TJA1040
- 笔记本计算机接口类型,小白入门必看!笔记本电脑常见接口都在这了
- 测试的五个小分类--功能、界面、安全性、兼容性、易用性
- orange+pi+android+7,全志H6四核1.8GHZ的Orange pi 3来了!新一代ARM开发板,64位系统级芯片......
- STM32 经过TM1637驱动四位数码管
- APP 游戏审核改动
- 一,JavaScript基本语法