[原创] 【C标准库里哪些好玩的东西】简单的strlen()还能玩出什么花样?

辛昕   2017-9-25 14:18 楼主

相信strlen()这个函数大家都很熟悉,仅次于printf;然而,在我以前的观点里,我会把这个函数

strcpy
strcmp
strcat

等函数归为一类,就是,认为,它们是 给 字符串 用的。
以至于有的时候,我会犯一些经验性的错误。

以前,我曾经看到有人问过这个问题

引用: 例如数组为
a={0xAB,0x33,0x64,0x14,0xAB,0x00,0x5C,0x64,0x14,0xAB,0x00,0x5C,0x64,0x14,0xAB,0x00,0x5C,0x00,0x55}去除之后变为
b={0xAB,0x33,0x64,0x14,0xAB,0x5C,0x64,0x14,0xAB,0x5C,0x64,0x14,0xAB,0x5C,0x00,0x55},哪位高手帮我实现一下,多谢了
我当时觉得这个问题很简单,很无聊。
其实主要是,我也没想到什么特别的方法。

但是我刚刚突然想起这个问题,于是,我发现其实这个东西,还有一个不需要 if-for 可以完成的办法。
当然,不是 while-if啊.....

我的方法,小tip:strlen

希望还能看到更好玩的办法。

PS:这个问题,和以往我的问题不一样,它既不是来自我自己,更不是我为了说某个语法点瞎编出来的。
过几天,看回帖,有效回帖数超过8,我就公布这个问题的来源。

此内容由EEWORLD论坛网友辛昕原创,如需转载或用于商业用途需征得作者同意并注明出处


强者为尊,弱者,死无葬身之地

回复评论 (26)

strlen内部不还是调用循环了
亚里士缺德
点赞  2017-9-25 14:24
教主,沙发我占了,看你究竟有啥点子
点赞  2017-9-25 14:25
教主大哥,我来顶贴了。
我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
点赞  2017-9-25 14:26
倒数第二个00是要保留的是吗?题意是什么?
点赞  2017-9-25 14:29
看半天没搞明白要干啥,看来是我理解能力有问题。。。
HELLO_WATER
点赞  2017-9-25 14:32
厉害了
点赞  2017-9-25 14:34
我擦 只去掉前面的0x00 最后一个0x00留下?还是说之后的都留下?这个题好难审题啊
物致DIY 欢迎你的加入~ QQ群:646461928 公众号:智物知心致成 小店
点赞  2017-9-25 14:37
引用: 汤权 发表于 2017-9-25 14:24
strlen内部不还是调用循环了

素啊素啊
管它是不是呢?
反正不是自己写就行啊~~
强者为尊,弱者,死无葬身之地
点赞  2017-9-25 14:47
引用: 辛昕 发表于 2017-9-25 14:47
素啊素啊
管它是不是呢?
反正不是自己写就行啊~~

你把题目说清楚了再走
点赞  2017-9-25 15:08
没看明白要干啥
RTEMS
点赞  2017-9-25 16:53
引用: lcofjp 发表于 2017-9-25 15:08
你把题目说清楚了再走

例如数组为a={0xAB,0x33,0x64,0x14,0xAB,0x00,0x5C,0x64,0x14,0xAB,0x00,0x5C,0x64,0x14,0xAB,0x00,0x5C,0x00,0x55}去除之后变为b={0xAB,0x33,0x64,0x14,0xAB,0x5C,0x64,0x14,0xAB,0x5C,0x64,0x14,0xAB,0x5C,0x00,0x55},哪位高手帮我实现一下,多谢了

请解决这个问题
强者为尊,弱者,死无葬身之地
点赞  2017-9-25 17:09
引用: 皈依 发表于 2017-9-25 14:37
我擦 只去掉前面的0x00 最后一个0x00留下?还是说之后的都留下?这个题好难审题啊

把一个数组里的所有0x00都去掉。有这么难理解嘛,尼玛.....
强者为尊,弱者,死无葬身之地
点赞  2017-9-25 17:10
诶,我的错....没仔细看那货给的东西.....
强者为尊,弱者,死无葬身之地
点赞  2017-9-25 17:10
引用: 辛昕 发表于 2017-9-25 17:09
例如数组为a={0xAB,0x33,0x64,0x14,0xAB,0x00,0x5C,0x64,0x14,0xAB,0x00,0x5C,0x64,0x14,0xAB,0x00,0x5C, ...

我看不懂题目,解决不了。。晚安。。
点赞  2017-9-25 17:10
去除0x00……
一直说去除之后,也不知道让去除什么。
本来以为是去除0x00了,结果发现最后一个没有去,以为自己理解错了。结果是楼主自己写错了,也是醉了
点赞  2017-9-26 20:14
引用: pkuzhx 发表于 2017-9-26 20:14
去除0x00……
一直说去除之后,也不知道让去除什么。
本来以为是去除0x00了,结果发现最后一个没有去,以 ...

看新帖,看新帖
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 22:26
引用: long521 发表于 2017-9-25 14:26
教主大哥,我来顶贴了。

别,别乱叫大哥。
丫的,几年前我出幻觉那出,还和你有关系,别以为换了个头像我就认不出你来...........
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:23
引用: shinykongcn 发表于 2017-9-25 14:32
看半天没搞明白要干啥,看来是我理解能力有问题。。。

看新帖,看新帖
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:23
明天,明天,我在新帖,把这个东西,我的做法,贴出来~~
强者为尊,弱者,死无葬身之地
点赞  2017-9-26 23:24
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复