strlen
获得字符串的长度(stringlength)
(资料图片仅供参考)
函数基本原型
size_tstrlen(constchar*string);
参数解读
参数string
解释要获取字符串长度的地址
返回值详解
返回的是size_t类型的值,size_t是无符号整数,这里要注意如果用返回值进行减法运算的话可能会出错
以下列代码为例,大家猜猜结果是啥
#include 很明显str1中字符串的长度比str2中的字符串长,大家可能感觉结果是打印"str2 为什么是打印"str2>str1",别急且听我慢慢讲解。 我们先看strlen(str2)和strlen(str1)的值,分别是3和5。而3-5=(-2)是个整数呀,为什么会大于零呢?这就要讨论strlen(str2)和strlen(str1),因为strlen返回值是无符号整数,所以(3)和(5)也是无符号的,所以(3-5)也是无符号整数。 大家估计都知道有符号正整数在计算机存储是原码(下面都是以二进制代码为例) 3的原码:00000000000000000000000000000011 5的原码:00000000000000000000000000000101 有符号负整数在计算机内存储的是补码 -2的原码:10000000000000000000000000000010 -2的反码:11111111111111111111111111111101(原码取反) -2的补码:11111111111111111111111111111110(反码加1) 第一位为符号位,当一个数存储在计算机内时,计算机都会检测第一位判断这个数是否为正整数或是负整数,而无符数计算机则不判断直接进行转换。 如下,(-2)打印出来是4294967294,是一个超级大的数。
这也是为啥例题能打印出"str2>str1"的原因。
函数用法详解
见到strlen函数我们可能会想,它是怎么求字符串长度的呢?
当我们给出一个字符串"abcdef"时,这个字符串末尾其实隐藏一个‘\0’做结束标志。
"abcdef"={"a","b","c","d","e","f","\0"}
而strlen函数找到字符串的其实位置一直往后找,一直找到‘\0’为止。
专业也是strlen函数一个基本工作原理
#include
这里打印的是19,为什么是19呢?abcdef是放到数组str里面的,数组只申请6个空间。而strlen也是倔脾气,只找到‘\0’才返回值,而在‘\0’之前可能出现19非"\0"的字符。所以才打印了19。这个19是个随机值,我们也不知道下次"\0"之前有多少多字符。
所以,让strlen求字符串时,参数所指向的字符串必须以‘\0’结束。
当我们自己放入一个‘\0’时,就会打印正常值了。
当然,当指定数组大于6,也是可以的
当把abcdef放到str[10]中时,只初始化前6个空间,而后四个空间编号一起会默认初始化为"\0"。
希望大家能够注意以上几点。
标签:
strlen获得字符串的长度(stringlength)函数基本原型size_tstrlen(constchar*string);参数解读参数string解释要
原油LOF易方达:易方达原油证券投资基金(QDII)(易方达原油(QDII-LOF-FOF)A(人民币份额))基金产品资料概要更新
据央视新闻,欧洲央行行长克里斯蒂娜·拉加德7日在欧洲央行和欧盟委员会举行的数字欧元会议上表示,发行数字欧元将促进在整个欧
1、希伯来人,以色列人,犹太人,你可以视为同一族群不同时期的称呼,具体的区别前面已经有人说了。2、我补充一点,阿拉伯人和
世界上,有两样东西不可直视,一是太阳,二是人心。作者:无铭来源:无铭大叔(ID:wmds988)曾听一位作家说:世界上,有两样东西不可直视,一
1岁娃近视600度上热搜!“罪魁祸首”竟是家长
1、给大家分享一下11月18日祖先互换地图攻略。2、首先,11月18日国服孙瑜双台复刻的始祖就是红丝绒披风的始祖,如下图
Afterthechaos曾为藤井風、iri、adieu等制作过歌曲的音乐人Yaffle是当今流行乐坛最杰出的人物之一,也有在国立音乐大学学习作曲的背景。此次,
非药品类易制毒化学品第三类经营延期重新备案办事攻略设立依据昆明高新《易制毒化学品管理条例》第十三条生产第二类、第三类易制毒化学品的,
“莫等闲、白了少年头,空悲切。”2023年春节期间,一部电影《满江红》,让900多年前的民族英雄岳飞再次走入大家的视野。
是。可能会导致借款结清或者借款额度为0,所以被称为借款提前还款是一大禁忌。因为,借呗本身就是一种按日计息的产品。如果提前
光弘科技2月18日在深交所“互动易”平台表示,该公司是荣耀的核心供应商,为荣耀提供智能手机在内的各类电子产品制造服务。网
周琦注定属于辽宁?你们想多了,因为两大豪强都已相继出手,杨鸣,新疆队,辽宁队,首钢队,广东队,辽宁省,新疆广汇,国际篮球赛事,中国篮球联赛,中
1、目前,几乎每个家庭都安装了宽带,从很久以前的1M和2M带宽到现在的10M和20M带宽。但是需要注意的是,这些数据都是
宁阳文史新媒体上线!两本新书首发
1、1)雷龙:有些恐龙的身躯十分庞大,像雷龙就是一个例子。2、在侏罗纪时,地球上的气候温暖而潮湿,到处都有青葱的森林,因
1、阿拉伯国家联盟(LeagueofArabStates)是为了加强阿拉伯国家联合与合作而建立的地区性国际组织。2
2023云南首届彩云消费博览会最新消息举办时间:2023年4月27日至5月1日举办地点:昆明滇池国际会展中心根据《云南省人民政府办公厅关于印发云南
1、油机空气过滤器型号:1。2、机油滤芯的型号太多了,因为每个型号不一样,所以机油滤芯的型号也不一样。3、螺杆式空压机的
人民网评:“五个一百”,展现中国精神、激发奋斗力量 团结奋进新征程,同心奋斗创伟业。活动将征集评选一批网民认可、社会认同、影响广...
1、米莉亚·法莉娜·吉纳斯,日本动画《超时空要塞》及其衍生作品中的角色,原名米莉亚·法莉娜,和麦克斯·米利安·吉纳斯
今天跟大家讲解下有关电脑方面的小知识共享打印时一直显示正在打印打印机却没反应,相信对电脑感兴趣的小伙伴们对这个话题应该
1、六年级数学试卷一、填空题206510000用“万”作单位是(),四舍五入到“亿”位是()。2、2、
九十年代的芝加哥公牛队,曾是NBA人气最高,同时也是实力最强的豪门之一。在乔丹的带领下,六次加冕称王,扼杀了一大批名人堂球星的冠军梦。但
1、只有一部小麦想努力成为接班人-这个有点令人惊讶的决定,最后却得到众人的支持,大家努力帮小麦恶补,希望她能通过董事会的
近年来,罗甸县认真践行绿水青山就是金山银山理念,坚定不移走生态优先、绿色发展之路,坚决打好污染防治攻坚战,紧盯环境空气质量年度考核目
深信服是一家专注于企业级安全、云计算及IT基础设施的产品和服务供应商,拥有深信服智安全和信服云两大业务品牌,致力于让每个用户数字化更简
摩根投信:中国优化疫情防控措施提振亚洲经济海外网2月15日电 摩根旗下证券投资信托股份有限公司(“摩根投信”)14日在其官网刊发题为《...
新年伊始,尼木县以“开局就是决战、起步就是冲刺”的精神状态,紧盯全年固定资产投资建设项目目标任务,全力以赴拼经济、搞建设,力争全县...
八旬老人躺卧田间,枣阳民警温情救助暖人心---赵先生握着值班民警的手说道。2月14日,湖北枣阳市公安局新市派出所及时救助一名走失老人,获得
Copyright © 2015-2022 现在服装网版权所有 备案号:粤ICP备18023326号-5 联系邮箱:855 729 8@qq.com